blob: 5fae3275efd66daa5f438ffe75f30a2ef5477000 [file] [log] [blame]
Brian Silvermanaf784862014-05-13 08:14:55 -07001#include "aos/common/libc/aos_strsignal.h"
2
3#include <signal.h>
4
5#include "aos/linux_code/thread_local.h"
6#include "aos/common/logging/logging.h"
7
8const char *aos_strsignal(int signal) {
9 static AOS_THREAD_LOCAL char buffer[512];
10
11 if (signal >= SIGRTMIN && signal <= SIGRTMAX) {
12 CHECK(snprintf(buffer, sizeof(buffer), "Real-time signal %d",
13 signal - SIGRTMIN) > 0);
14 return buffer;
15 }
16
17 if (signal > 0 && signal < NSIG && sys_siglist[signal] != nullptr) {
18 return sys_siglist[signal];
19 }
20
21 CHECK(snprintf(buffer, sizeof(buffer), "Unknown signal %d", signal) > 0);
22 return buffer;
23}