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/.