| |
� ���������� ������ semop ��������� ������� ���������� ������ ������ ���:
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int semop (semid, sops, nsops)
int semid;
struct sembuf *sops;
unsigned nsops;
��� �������� ���������� ��������� ���������� ������ ����� ����;
� ������ ������� ������������ -1.
� �������� ��������� semid ������ ��������� ������������� ��������� ���������, �������������� ���������� ��� ������ ���������� ������ semget.
�������� sops (������ ��������) ����������, ��� ������ ���������� ����� ����������� �������� � ����� ������. ���������, ����������� �������� ��� ����� ���������, ������������ ��������� �������:
struct sembuf {
short sem_num; /* ����� �������� */
short sem_op; /* �������� ��� ��������� */
short sem_flg; /* ����� �������� */
};
(��. ���������� ���� <sys/sem.h>).
����� �������� ������ ���������� ������� � ���������, ��� ������� ������ ���� ��������� ��������.
����������� �������� ������������ ��������� �������:
IPC_NOWAIT
���� �����-���� ��������, ��� ������� ����� ���� IPC_NOWAIT, �� ����� ���� ������� ���������, ��������� ����� ����������� ��������, ������ �� � ������ �� ��������� �� ����� �������� ��������
SEM\_UNDO
������ ���� ������ ����������� ����� ���������� ��������; �� ������������ ������������ �� ��������� ���� � ������ ��������� ���������� ���������� ������ semop. ����� �������, ���������� ���� �������� (� ��� ����� � ���, ��� ������� ����� ���� SEM_UNDO) ����������� ������� �������, �� ����� ������� ��� �������� ����� ���� ������� ���������, �������� � ������ SEM_UNDO ������������.