next up previous contents
Next: SYSTEM CALL: semget() Up: Internal Data Structures Previous: Kernel semid_ds structure

Kernel sem structure

In the semid_ds structure, there exists a pointer to the base of the semaphore array itself. Each array member is of the sem structure type. It is also defined in linux/sem.h:


        /* One semaphore structure for each semaphore in the system. */
        struct sem {
                short   sempid;         /* pid of last operation */
                ushort  semval;         /* current value */
                ushort  semncnt;        /* num procs awaiting increase in semval */
                ushort  semzcnt;        /* num procs awaiting semval = 0 */
        };

sem_pid

The PID (process ID) that performed the last operation

sem_semval

The current value of the semaphore

sem_semncnt

Number of processes waiting for resources to become available

sem_semzcnt

Number of processes waiting for 100% resource utilization



Converted on:
Fri Mar 29 14:43:04 EST 1996