SETJMP(3)

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
Uwaga! To tłumaczenie może być nieaktualne!

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)

INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

    man --locale=C 3 setjmp

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.