Do tematu:
Zarządzanie procesami
Do tematu:
Struktury danych
Struktura zawiera informacje potrzebne do obsługi konkretnego sygnału
Typ | Nazwa | Opis |
__sighandler_t | sa_handler | wskaźnik do funkcji obsługi sygnału
funkcja jest typu: void nazwa_funkcji(int); są także zdefiniowane stałe standardowe SIG_DFL (0) - domyślna obsługa sygnału SIG_IGN (1) - ignorowanie sygnału SIG_ERR (-1) - błąd przy powrocie z funkcji signal |
sigset_t | sa_mask | maska sygnałów, które mają być zablokowane zaraz po wywołaniu funkcji obsługi |
unsigned long | sa_flags | flaga wskazująca na sposób obsługi sygnału |
void (*) | sa_restorer | NIE UŻYWANE - funkcja, która w przyszłości umożliwi obsługę stosu sygnałów |
Flaga | Wartość | Opis |
SA_NOCLDSTOP | 1 | flaga informuje o tym, czy rodzic procesu zostanie poinformowany o zatrzymaniu |
SA_SHIRQ | 0x04000000 | flaga używana do dzielonej obsługi przerwań urządzeń takich jak PCI i EISA |
SA_STACK | 0x08000000 | aktualnie nie jest używana ale w przyszłości ma umożliwiać obsługę stosu sygnałów |
SA_RESTART | 0x10000000 | flaga używana do uzyskania sygnału restartowego |
SA_INTERRUPT | 0x20000000 | nie używana - pozostawiona ze względów historycznych, dawniej używana przez system do obsługi przerwań sprzętowych |
SA_NOMASK | 0x40000000 | wywołanie funkcji obsługi sygnałów nie powoduje zamaskowania przychodzących sysgnałów |
SA_ONESHOT | 0x80000000 | po wywołaniu funkcji obsługi sygnału, lecz przed rozpoczęciem jej wykonania pole sa_handler struktury sigaction ustawiane jest na 0 (obsługa domyślna) |
Używane wyłącznie przez jądro (jako część systemu obsługi przerwań): | ||
SA_PROBE | SA_ONESHOT | inna nazwa flagi SA_ONESHOT |
SA_SAMPLE_RANDOM | SA_RESTART | inna nazwa flagi SA_RESTART |
typ określający funkcję obsługi sygnału - zdefiniowany:
void (*__sighandler_t)(int)
Autor: Michał Tabor