NAZWA¶
longjmp, siglongjmp - nielokalny skok do zachowanego kontekstu stosu
SKŁADNIA¶
#include <setjmp.h>
void longjmp(jmp_buf env, int val);
void siglongjmp(sigjmp_buf env, int val);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
longjmp() i
setjmp() są przydatne w obsłudze
błędów i przerwań, napotykanych w niskopoziomowych
procedurach programu.
longjmp() odtwarza środowisko zachowane
przez ostatnie wywołanie
setjmp(), z odpowiadającym
argumentem
env. Po zakończeniu
longjmp(), program
działa dalej tak, jakby wywołanie
setjmp()
właśnie zwróciło wartość
val.
longjmp() nie potrafi spowodować zwrócenia 0.
Jeśli longjmp jest wywołane z argumentem 0, zwrócone
zostanie 1.
siglongjmp() jest podobne do
longjmp(), inny jest tylko typ jego
argumentu
env. Jeśli wywołanie
sigsetjmp(),
które ustawiło
env miało ustawiony niezerowy
znacznik
savesigs, to
siglongjmp() odtworzy rónież
zestaw blokowanych sygnałów.
WARTOŚĆ ZWRACANA¶
Funkcja ta nigdy nie powracają.
ZGODNE Z¶
POSIX
UWAGI¶
POSIX nie podaje czy
longjmp powinno odtwarzać kontekst
sygnałowy. Jeśli potrzebne jest zachowywanie maski
sygnałów, należy używać
siglongjmp.
longjmp() i
siglongjmp() 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¶
setjmp(3),
sigsetjmp(3)
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 longjmp
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.