C/signal.h/SIGSYS — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «В POSIX-системах, SIGSYS — сигнал, предназначенный для посылки программе, при попытке передать …») |
(нет различий)
|
Текущая версия на 19:10, 21 июня 2010
В 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, может сделать довольно мало.
- Например, командный интерпретатор может указать его как причину завершения процесса.