Provided by: manpages-pl-dev_20060617-1_all bug

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

       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)

                                  1997-03-02                        LONGJMP(3)