#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 ____cacheline_aligned_in_smp 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 */ }; #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 | andrew morton | 19 | 100.00% | 1 | 100.00% |
Total | 19 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
andrew morton | andrew morton | 13 | 100.00% | 1 | 100.00% |
Total | 13 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
andrew morton | andrew morton | 60 | 40.00% | 2 | 14.29% |
pre-git | pre-git | 42 | 28.00% | 2 | 14.29% |
manfred spraul | manfred spraul | 31 | 20.67% | 7 | 50.00% |
dave olien | dave olien | 10 | 6.67% | 1 | 7.14% |
david howells | david howells | 4 | 2.67% | 1 | 7.14% |
tim schmielau | tim schmielau | 3 | 2.00% | 1 | 7.14% |
Total | 150 | 100.00% | 14 | 100.00% |