longjmp

Autres langues

Langue: pl

Autres versions - même langue

Version: 1997-03-02 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

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)