next up previous contents
Next: Opcje sygnałów w Linuksie Up: Obsługa sygnałów Previous: Obsługa sygnałów   Contents

Sygnały pod SVR4, BSD i POSIX.1

Implementacja sygnałów pod SVR4 zawiera funkcje signal, sigset, sighold, sigrelse, sigignore oraz sigpause. Funkcja signal pod SVR4 jest identyczna do klasycznych sygnałów Unix V7, dostarczając jedynie niepewne sygnały. Inne funkcje dostarczają sygnały z automatyczną reinstalacją obsługi sygnału, jednakże nie jest osługiwana reintalacja wywołań systemowych. Pod BSD, funkcje signal, sigvec, sigblock, sigsetmask oraz sigpause są obsługiwane. Wszystkie z tych funkcji dostarczają pewnych sygnałów, domyślnie, z restartowaniem wywołań systemowych, jednocześnie to zachowanie może być wyłączone jeżeli sobie tego życzymy.

Zgodnie z POSIX.1, sigaction, sigprocmask, sigpending i sigsuspend są dostarczone. Zauważ, że nie ma funkcji signal i zgodnie z POSIX.1 jest ona unieważniona. Powyższe funckje dostarczają pewnych sygnałów, jednocześnie resart wywołań systemowych nie jest zdefiniowany przez POSIX. Jeżeli sigaction jest używana pod SVR4 lub BSD restartowanie wywołań systemowych jest wyłączone, ale możee zostać włączone przez ustawienie znacznika sygnału SA_RESTART.

Zatem, 'najlepszym' sposobem używania sygnałów w programie jest posługiwnanie się sigaction, która pozwala na dokładne określenie zachowania się obsługi sygnałów. Niestety, signal jest nadal używany i jak widzimy powyżej dostarcza nam inne działanie pod SVR4 i BSD.


next up previous contents
Next: Opcje sygnałów w Linuksie Up: Obsługa sygnałów Previous: Obsługa sygnałów   Contents

2000-03-01


Poltronic