diff options
| author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-25 02:42:21 +0200 |
|---|---|---|
| committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-25 02:42:21 +0200 |
| commit | 334e3507a9dae1dd0c0d856afa18563bb1154ed1 (patch) | |
| tree | 78aa7f4a925c40e2051979ad9ddcb03d31a2aa2f /debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch | |
| parent | de5476a59f5669694ff6da85e17ce93de52f7bb7 (diff) | |
add patch series
Diffstat (limited to 'debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch')
| -rw-r--r-- | debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch b/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch new file mode 100644 index 0000000..5497650 --- /dev/null +++ b/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch @@ -0,0 +1,59 @@ +From b19e79ad919eb62aefba7372b37267feffbbeeaf 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 7/7] 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 + |
