Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
setjmp - zachowanie kontekstu stosu dla nielokalnego goto
SKŁADNIA
#include <setjmp.h>
int setjmp(jmp_buf env);
int sigsetjmp(sigjmp_buf env, int savesigs);
OPIS
setjmp i longjmp() są przydatne w obsłudze błędów i przerwań
napotykanych w niskopoziomowych procedurach programu. setjmp()
zachowuje kontekst/środowisko stosu w env dla późniejszego użycia przez
longjmp(). Kontekst stosu będzie unieważniony, gdy funkcja wołająca
setjmp() się zakończy.
sigsetjmp() jest podobne do setjmp(). Gdy savesigs jest niezerowe,
zestaw blokowanych sygnałów jest zachowywany w env i zostanie
odtworzony przez późniejsze wykonanie siglongjmp() z tym samym env.
WARTOŚĆ ZWRACANA
setjmp() i sigsetjmp() zwracają 0 po bezpośrednim zakończeniu, a
wartość niezerową po powrocie za pomocą funkcji longjmp() z
wykorzystaniem zachowanego kontekstu .
ZGODNE Z
POSIX, ISO 9899 (C99)
UWAGI
POSIX nie określa, czy setjmp ma zachowywać kontekst sygnałowy. (W
SYSV nie zachowuje. W BSD4.3 zachowuje, ale istnieje funkcja _setjmp,
która nie zachowuje.) Jeśli istnieje potrzeba zachowania maski
sygnałów, to należy użyć sigsetjmp.
setjmp() i fBsigsetjmp powodują, że programy są trudne do zrozumienia i
pielęgnowania. Jeśli jest to możliwe, należy używać innych rozwiązań.
ZOBACZ TAKŻE
longjmp(3), siglongjmp(3)
1997-03-02 SETJMP(3)