From 8364cf0a902074be8ce69a127e5693352fe72895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 27 Jan 2004 11:11:18 +0000 Subject: [PATCH] Added a LockWithTimeout() method to the RecursiveLock class. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6353 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/bfs/Lock.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/Lock.h b/src/add-ons/kernel/file_systems/bfs/Lock.h index 000f110a23..b3b8595a6d 100644 --- a/src/add-ons/kernel/file_systems/bfs/Lock.h +++ b/src/add-ons/kernel/file_systems/bfs/Lock.h @@ -131,7 +131,7 @@ class RecursiveLock { #endif } - status_t Lock() + status_t LockWithTimeout(bigtime_t timeout) { thread_id thread = find_thread(NULL); if (thread == fOwner) { @@ -145,7 +145,7 @@ class RecursiveLock { status = B_OK; else #endif - status = acquire_sem(fSemaphore); + status = acquire_sem_etc(fSemaphore, 1, B_RELATIVE_TIMEOUT, timeout); if (status == B_OK) { fOwner = thread; @@ -155,6 +155,11 @@ class RecursiveLock { return status; } + status_t Lock() + { + return LockWithTimeout(B_INFINITE_TIMEOUT); + } + status_t Unlock() { thread_id thread = find_thread(NULL);