diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-25 04:09:40 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-25 04:09:40 +0200 |
commit | 556ea3de84b3f309b284f60d9420bdabcc549af2 (patch) | |
tree | 7fcd4bf4a22c6d25ed313544d1ae1a984397d40f /debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch | |
parent | 1a98ae4443e6bed218c62b09f10be3f489b5fceb (diff) |
add patch series
Diffstat (limited to 'debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch')
-rw-r--r-- | debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch b/debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch new file mode 100644 index 0000000..2729c6c --- /dev/null +++ b/debian/patches/upstreamme0001-kern-new-function-thread_sleep_lock.patch @@ -0,0 +1,59 @@ +From e9ce90462680d53e9918aeb45ed53a33af6867d3 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Sat, 25 Jul 2015 01:46:53 +0200 +Subject: [PATCH gnumach 01/10] kern: new function `thread_sleep_lock' + +* kern/sched_prim.c (thread_sleep_lock): New function. +* kern/sched_prim.h (thread_sleep_lock): New delcaration. +--- + kern/sched_prim.c | 18 ++++++++++++++++++ + kern/sched_prim.h | 4 ++++ + 2 files changed, 22 insertions(+) + +diff --git a/kern/sched_prim.c b/kern/sched_prim.c +index e8f260e..e354a21 100644 +--- a/kern/sched_prim.c ++++ b/kern/sched_prim.c +@@ -458,6 +458,24 @@ void thread_sleep( + } + + /* ++ * thread_sleep_lock: ++ * ++ * Cause the current thread to wait until the specified event ++ * occurs. The specified lock is unlocked before releasing ++ * the cpu. (This is a convenient way to sleep without manually ++ * calling assert_wait). ++ */ ++void thread_sleep_lock( ++ event_t event, ++ lock_t lock, ++ boolean_t interruptible) ++{ ++ assert_wait(event, interruptible); /* assert event */ ++ lock_done(lock); /* release the lock */ ++ thread_block((void (*)()) 0); /* block ourselves */ ++} ++ ++/* + * thread_bind: + * + * Force a thread to execute on the specified processor. +diff --git a/kern/sched_prim.h b/kern/sched_prim.h +index 62698dc..83d4594 100644 +--- a/kern/sched_prim.h ++++ b/kern/sched_prim.h +@@ -69,6 +69,10 @@ extern void thread_sleep( + event_t event, + simple_lock_t lock, + boolean_t interruptible); ++extern void thread_sleep_lock( ++ event_t event, ++ lock_t lock, ++ boolean_t interruptible); + extern void thread_wakeup(void); /* for function pointers */ + extern void thread_wakeup_prim( + event_t event, +-- +2.1.4 + |