LONGJMP(3)

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)

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 longjmp

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