From fd8b9d4326f093222e23e2a33f53b0d03857443a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 30 Mar 2012 17:05:19 +0200 Subject: [PATCH] Added a recursive_lock_transfer() function. --- headers/private/kernel/lock.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/headers/private/kernel/lock.h b/headers/private/kernel/lock.h index 4381d21146..2a52c441d6 100644 --- a/headers/private/kernel/lock.h +++ b/headers/private/kernel/lock.h @@ -274,6 +274,20 @@ mutex_transfer_lock(mutex* lock, thread_id thread) } +static inline void +recursive_lock_transfer_lock(recursive_lock* lock, thread_id thread) +{ + if (lock->recursion != 1) + panic("invalid recursion level for lock transfer!"); + +#if KDEBUG + lock->lock.holder = thread; +#else + lock->holder = thread; +#endif +} + + extern void lock_debug_init(); #ifdef __cplusplus