summaryrefslogtreecommitdiff
path: root/include/linux/sem.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-12-17 14:27:22 +0300
committerTakashi Iwai <tiwai@suse.de>2009-12-17 14:27:22 +0300
commit67cbf8a216259dceefe570f6dc14746f43b2e627 (patch)
tree1eca0b9922dee01b4d00dc0713b7ff434dddd44c /include/linux/sem.h
parent6c941c8556dd9269be621cd8159fc60e955a91b3 (diff)
parent2fbe74b90bafebce615466b4c20f96b0465df1ae (diff)
downloadlinux-67cbf8a216259dceefe570f6dc14746f43b2e627.tar.xz
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'include/linux/sem.h')
-rw-r--r--include/linux/sem.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/sem.h b/include/linux/sem.h
index 1b191c176bcd..8a4adbef8a0f 100644
--- a/include/linux/sem.h
+++ b/include/linux/sem.h
@@ -86,6 +86,7 @@ struct task_struct;
struct sem {
int semval; /* current value */
int sempid; /* pid of last operation */
+ struct list_head sem_pending; /* pending single-sop operations */
};
/* One sem_array data structure for each set of semaphores in the system. */
@@ -96,11 +97,13 @@ struct sem_array {
struct sem *sem_base; /* ptr to first semaphore in array */
struct list_head sem_pending; /* pending operations to be processed */
struct list_head list_id; /* undo requests on this array */
- unsigned long sem_nsems; /* no. of semaphores in array */
+ int sem_nsems; /* no. of semaphores in array */
+ int complex_count; /* pending complex operations */
};
/* One queue for each sleeping process in the system. */
struct sem_queue {
+ struct list_head simple_list; /* queue of pending operations */
struct list_head list; /* queue of pending operations */
struct task_struct *sleeper; /* this process */
struct sem_undo *undo; /* undo structure */