#ifndef _LINUX_SEM_H #define _LINUX_SEM_H #include <linux/atomic.h> #include <linux/rcupdate.h> #include <linux/cache.h> #include <uapi/linux/sem.h> struct task_struct; /* One sem_array data structure for each set of semaphores in the system. */ struct sem_array { struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */ time_t sem_ctime; /* last change time */ struct sem *sem_base; /* ptr to first semaphore in array */ struct list_head pending_alter; /* pending operations */ /* that alter the array */ struct list_head pending_const; /* pending complex operations */ /* that do not alter semvals */ struct list_head list_id; /* undo requests on this array */ int sem_nsems; /* no. of semaphores in array */ int complex_count; /* pending complex operations */ unsigned int use_global_lock;/* >0: global lock required */ }; #ifdef CONFIG_SYSVIPC struct sysv_sem { struct sem_undo_list *undo_list; }; extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk); extern void exit_sem(struct task_struct *tsk); #else struct sysv_sem { /* empty */ };
static inline int copy_semundo(unsigned long clone_flags, struct task_struct *tsk) { return 0; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 19 | 100.00% | 1 | 100.00% |
Total | 19 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 13 | 100.00% | 1 | 100.00% |
Total | 13 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 60 | 38.96% | 2 | 12.50% |
Linus Torvalds (pre-git) | 42 | 27.27% | 2 | 12.50% |
Manfred Spraul | 35 | 22.73% | 9 | 56.25% |
Dave Olien | 10 | 6.49% | 1 | 6.25% |
David Howells | 4 | 2.60% | 1 | 6.25% |
Tim Schmielau | 3 | 1.95% | 1 | 6.25% |
Davidlohr Bueso A | 0.00% | 0 | 0.00% | |
Total | 154 | 100.00% | 16 | 100.00% |