Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

SIGSET(2)

��������
sigset, sighold, sigignore, sigpause - ��������� ���������� ���������.

���������

   #include <signal.h>
   void (*sigset(sig,func))()
   int sig;
   void (*func)();
   int sighold(sig)
   int sig;
   int sigrelse(sig)
   int sig;
   int sigignore(sig)
   int sig;
   int sigpause(sig)
   int sig;

��������
��� ������� ������������ ����������� ��������� ��� ��������� ���������� ��������. ��������� ����� sigset ������ ������� ������� �� ������ sig. ��� ������� ����������� ���� � ������ ����������� ������� �������� func, ���� � ���������� ������������� �������� ��������.

��������� sig ����� ���� ��������� ����� �� ����������� ��������, �� ����������� �������� SIGKILL. �������, ��������� �� ���������� ��� ����������� ����������, �� ��������� (��. "����������" ����). ������ �������� sig �������� ��������, ������������ � ����� <signal.h> � ������� ����� ���� ����������� � ���� ���������-���������.
SIGHUP����������� ������� �����
SIGINT����������
SIGQUIT*�����
SIGILL*�������� ���������� (�� ������������ ��� ���������)
SIGTRAP*���������� ����������� (�� ������������ ��� ���������)
SIGABRT*��������� �����
SIGFPE*������ �������� � ��������� ������
SIGKILL����������� (�� ����� ���� ������� ��� ������)
SIGSYS*�������� ��������� � ��������� ������
SIGPIPE������ � ����� ��������� ��� ������������ ������
SIGALRM������ �������
SIGTERM������ ������������ ����������
SIGUSR1������������ ������������� ������ 1
SIGUSR2������������ ������������� ������ 2
SIGCLD������ ��������� ��������
SIGPWR���� �������
SIGPOLL�������� ����������� ������� (��. "����������" ����)

� ��������� ��������� (*) � ��������������� ������ �������� ����� ��� SIG_DFL.

��������� �������� ��� ������������ �������� �������� func ����� ������������ � ����� <signal.h>. ������ �� ��� �������� ��������, ������� ����� ���� ����������� � ���� ���������-��������� ���� ��������� �� �������, ������������ void, � ����� ���������� ��������, ������� �� ������������� �� ����� ������������ �������.

� ����� ������ ������ func ������ ���� ���������� �� �������-����������, ������� ���������� ��� ������������� ������� sig. � ���� ������ sigset ����������, ��� ������� ������ ������� ��� ������� �� ��������� ������� sig. ����� ��������� ������ ����� ���� ������������. ����� ������� ����������� �������������� ������� ������� ������ ������� ���������� ���������, �������������� �����.

��� ������������� ������� ��� �������� sig ���������� ����������� � �������� ������������� ���������. ����� ������� ����������� ������� ������� �� ������ ��������������� �� SIG_HOLD. ��� ���������� �������� �� ����������� ������� ������� �� ������ ����������������� �� func, � ����� ��������� ������ ����� ���� ������������.���� ����������� ����������� ������� goto(longjmp - ������� ������), ����� �������������� ������� ������� �� ������ � ������ ������ ������������� ������� ������� ���� ������ ���� ������ sigrelse.

� �������� ����� �������� �� ����������� ������� �������, ���������� ���� ������, ������ ����������� ���� ���������� � �����, ��� �� ��� �������. ������, ���� ������ ������� �� ����� ��������� ������� read(2), write(2), open(2) ��� ioctl(2), ����� �������� ��������� ����� sigpause ��� wait(2), ������� ����������� ������� ��-�� ������� �������������� ����������������� �������� (��� �����-��������), �� ����� ����������� ���������� �������, ����� ���� ���������� ��������� ����� ����� ���������� ����������� �������� -1 �� ��������� errno, ������������� � EINTR.

sighold � sigrelse ������������ ��� ������������ ����������� �������� ����. sighold ������������� �������� ������ ���������� � ��������� �������, ���� ���� ��������� �� ����� ������ � ������� sigrelse. sigrelse ��������������� ������� ������� �� ������ � �������������� �������� � ������� sigset.

sigignore ������������� ������� �� ������ sig � SIG_IGN (��. ����).

sigpause ���������������� ���������� �������, ���� �� �� ������� ������; ���������� �������� pause(2).������, ��� ���������� ��������� ������� sig, �� ������������, � �������������� ��������� ������� �� ���� ������. ���� ��������� ����� ������� ��� �������� ����������, ������� ������ ���� �������� ��� ������������� �������. ��� ���� ���������� �������� ������: ������� sighold ������������ ��� ���������� �������, ����� ����������� ����������. ���� ����� ����������, �� ���������� sigpause ��� �������� �������. ����� sigset �������� ����, ���� ���������� ���� �� ��������� �������:

[EINVAL]
������ sig ����� �������� �������� (������� SIGKILL), ��� ��������� sig �� ��������� �� ����� ���� ��������.
[EINTR]
������ ��� ������� �� ����� ���������� ������ sigpause.

��. �����
kill(2), pause(2), signal(2), wait(2), setjmp(2)

�����������
��� �������� ���������� sigset ���������� ���������� �������� ������� ������� �� �������� ������ sig. � ��������� ������ ������������ �������� SIG_ERR, � errno ��������� �� ������.SIG_ERR ������������ � ����� <signal.h>

��� �������� ������ �������,�� ��� �� �������� ���������� ������������ �������� 0. � ��������� ������ ������������ �������� -1, � errno ��������� �� ������.

����������
������ SIGPOLL ���������, ����� �������� ����������, ��������������� ����� STREAMS [��. intro(2)], ������ �������� "�����������" �������. ��� ����, ����� ���� ������ ��� ������, ������� ������ ������� ����������� ������ � ������� ������ I_SETSIG ioctl(2). � ��������� ������ ���� ������� ������� �� ������� ������ SIGPOLL.

� ����� ������������ ���������� ��������� ������ ������������ ������ ������������� ����� ��������, � �� �� ��������, � ��������� ������ �� �������, ������� ����������� �����. ������� �� ������ SIGKILL �� ��������� �� ����� ���� ��������.

����������� ���������� ����� ���������� ����������� �������, � ����������� �������� ����� ���� �������� �������������� ������������ � ���������� ���������, ��������������� ���������� ��������. � ������ ��������� ��������� ������������ �������� ����� ��������� ����������� ������������� ���������� ��������� � ����� �� ����������.

���������� ��� SIGSEGV ������������� �� ������ ������������� ������� � ��������������� �������. ���� ��������������� ��������� � ��������� ���������� ������������� ��������� ���������, �� ������� ������������ ���� ���������� ���.

������ ������� ���������� ���������, signal(2)pause(2), �� ������� ������������ � ���������� � ������������ ��������� ��� ��������� ������������� ����� ��������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT