blob: a3331f9c57786724100bb6b702e4fd947fef1680 [file] [log] [blame]
John Park33858a32018-09-28 23:05:48 -07001#include "aos/libc/aos_strsignal.h"
Brian Silvermanaf784862014-05-13 08:14:55 -07002
3#include <signal.h>
4
John Park33858a32018-09-28 23:05:48 -07005#include "aos/logging/logging.h"
Brian Silvermanaf784862014-05-13 08:14:55 -07006
7const char *aos_strsignal(int signal) {
Brian Silverman8f373b12015-04-03 15:36:52 -04008 static thread_local char buffer[512];
Brian Silvermanaf784862014-05-13 08:14:55 -07009
10 if (signal >= SIGRTMIN && signal <= SIGRTMAX) {
Austin Schuhf257f3c2019-10-27 21:00:43 -070011 AOS_CHECK(snprintf(buffer, sizeof(buffer), "Real-time signal %d",
12 signal - SIGRTMIN) > 0);
Brian Silvermanaf784862014-05-13 08:14:55 -070013 return buffer;
14 }
15
16 if (signal > 0 && signal < NSIG && sys_siglist[signal] != nullptr) {
17 return sys_siglist[signal];
18 }
19
Austin Schuhf257f3c2019-10-27 21:00:43 -070020 AOS_CHECK(snprintf(buffer, sizeof(buffer), "Unknown signal %d", signal) > 0);
Brian Silvermanaf784862014-05-13 08:14:55 -070021 return buffer;
22}