The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

sigsetjmp (3)
  • sigsetjmp (3) ( FreeBSD man: Библиотечные вызовы )
  • >> sigsetjmp (3) ( Русские man: Библиотечные вызовы )
  • sigsetjmp (3) ( Linux man: Библиотечные вызовы )
  • sigsetjmp (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    setjmp, sigsetjmp - сохранение контекста стека при нелокальном переходе  

    СИНТАКСИС

    #include <setjmp.h>

    int setjmp(jmp_buf env);
    int sigsetjmp(sigjmp_buf env, int savesigs);
    
     

    ОПИСАНИЕ

    Функции setjmp() и longjmp() используются для работы с ошибками и прерываниями, встречающимися в подпрограммах низкого уровня. setjmp() сохраняет стек контекста/окружения в env для дальнейшего его использования функцией longjmp(). Стек контекста будет обнулен, если функция, вызвавшая setjmp(), завершит работу. Функция sigsetjmp() идентична setjmp(). Если savesigs не равно нулю, то набор заблокированных сигналов сохраняется в env и будет восстановлен, если в дальнейшем siglongjmp() будет работать с указанным env.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    setjmp() и sigsetjmp() возвращают 0 при непосредственном выходе и ненулевое значение при выходе из longjmp() с использованием сохраненного контекста.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    POSIX, ISO 9899 (C99)  

    ЗАМЕЧАНИЯ

    POSIX не уточняет, должна ли setjmp сохранять контекст сигнала. В SYSV - не должна. В BSD4.3 такое сохранение обязательно, хотя в данной ОС есть функция _setjmp, которая контекст не сохраняет. Если Вам необходимо сохранить маски сигналов, используйте sigsetjmp. setjmp() и sigsetjmp делают программы трудночитаемыми. По возможности используйте альтернативные им функции.  

    СМ. ТАКЖЕ

    longjmp(3), siglongjmp(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ЗАМЕЧАНИЯ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру