The OpenNET Project / Index page

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

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

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

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

    НАЗВАНИЕ

    sigaltstack - считывает или устанавливает содержимое дополнительного стека сигнала  

    СИНТАКСИС

    #include <signal.h>

    int sigaltstack(const stack_t *ss, stack_t *oss);

    где:

    ss
    указывает на структуру signalstack, определенную в <signal.h> и сохраняющую содержимое стека после вызова.
    Если
    oss не равно NULL, то оно указывает на структуру signalstack, сохраняющую содержимое стека до вызова.
     

    ОПИСАНИЕ

    sigaction(2) может обозначать возможность выполнения сигнала через альтернативный (дополнительный) стек. В этом случае sigaltstack(2) сохраняет сигнал в структуре дополнительного стека ss, в которой статус его выполнения может быть проверен перед обработкой.

    Стуктура sigaltstack определена в <signal.h> таким образом:

    
        void       *ss_sp     /* SVID3 использует caddr_t ss_sp
        int        ss_flags
        size_t     ss_size
    
    где:
    ss_sp
    указывает на структуру стека.
    ss_flags
    определяет состояние стека SS_DISABLE или SS_ONSTACK так:

    Если ss не NULL, то новое состояние может быть установлено в SS_DISABLE, оно определяет, что стек должен быть отключен, а ss_sp и ss_size должны игнорироваться. Если SS_DISABLE не установлен, то стек будет включен.

    Если oss не NULL, то состоянием стека может быть и SS_ONSTACK и SS_DISABLE. Значение SS_ONSTACK определяет, что процесс сейчас выполняется на дополнительном стеке и что любая попытка изменить его во время выполнения завершится ошибкой. Значение SS_DISABLE определяет, что на текущий момент стек сигнала отключен.

    ss_size
    определяет размер стека.

    Значение SIGSTKSZ определяет средний размер в байтах, используемый при размещении области дополнительного стека. Значение MINSIGSTKSZ определяет минимальный размер стека для обработчика сигналов. При обработке размера дополнительного стека ваша программа должна учитывать эти значения при обращениях к стеку для планирования загруженности системы.  

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

    sigaltstack(2) возвращает 0 при нормальном завершении работы и -1 при ошибках.  

    НАЙДЕННЫЕ ОШИБКИ

    sigaltstack(2) меняет errno в следующих случаях:
    EINVAL
    ss не является нулевым указателем а элемент ss_flags, на который указывает ss, содержит флаги, отличающиеся от SS_DISABLE.
    ENOMEM
    Размер области дополнительного стека меньше, чем MINSIGSTKSZ.
    EPERM
    Была попытка изменить активный (работающий) стек.
     

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

    Эта фукнция соответствует стандарту: XPG4-UNIX.  

    СМ. ТАКЖЕ

    getcontext(2), sigaction(2), sigsetjmp(3).


     

    Index

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


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




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

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