C/signal.h/SIGSYS


Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Материал из C\C++ эксперт
Перейти к: навигация, поиск

В POSIX-системах, SIGSYS — сигнал, предназначенный для посылки программе, при попытке передать неправильный аргумент в системный вызов.

SIGSYS — целочисленная константа, определенная в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

SIG — общий префикс сигналов (от англ. signal), SYS — сокращенное написание англ. system call — системный вызов.

Использование

Теоретически, SIGSYS может быть послан, когда процесс передает неправильный аргумент в системный вызов. На практике же, система возвращает ENOSYS, если системного вызова с запрошенным кодом не существует или соответствующую ошибку, если аргумент системного вызова неправилен (например, EBADF, если заданного файлового дескриптора не существует). POSIX.1 говорит о SIGSYS следующим образом:

There is very little that a conforming POSIX.1 application can do by catching, ignoring or masking ... SIGSYS. ...
One portable use that does exist ... is that a command interpreter can recognize them as the cause of a process's termination.
Приложение, отвечающее POSIX.1 при перехвате SIGSYS, может сделать довольно мало.
Например, командный интерпретатор может указать его как причину завершения процесса.