2009-11-12 10 views

Odpowiedz

10

Tak, co ciekawe, istnieje standardowy sposób na uzyskanie komunikatu smyczkowego z sygnału w POSIX. Jest to, całkiem przypadkowo, strsignal(). Z POSIX.1-2008:

Funkcja strsignal() odwzorowuje numer sygnału w signum na ciąg znaków zdefiniowany przez implementację i zwraca wskaźnik do niego. Użyje tego samego zestawu komunikatów, co funkcja psignal().

Środowisko, które nie zapewnia tej funkcji, nie jest zgodne z POSIX. Chociaż jest stosunkowo nowy (numer 7 wydano w 2008 r.), Mam stronę podręcznika dla strsignal() na Mac OS X, więc to dobry znak.

+0

Dzięki: http://tinyurl.com/d4z9ev Strona podręcznika GNU, która mówi "Ta funkcja nie jest częścią żadnego standardu", oczywiście wymaga aktualizacji. –

+0

@Norman: strona "man" wymagająca aktualizacji? Herezja! Twoje zdrowie. –

2

Zewnętrznie zdefiniowana tablica sys_siglist zawiera opisy sygnałów dla każdego numeru sygnału i jest standardowym problemem w BSD.

#include <signal.h> 

extern const char *const sys_siglist[]; 
+0

+1 Nie standard per se, ale użyteczny i częściej spotykany. – pilcrow

Powiązane problemy