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