diff options
-rw-r--r-- | libfshelp/lock-acquire.c | 10 | ||||
-rw-r--r-- | libfshelp/lock-init.c | 2 | ||||
-rw-r--r-- | libfshelp/locks.h | 4 |
3 files changed, 10 insertions, 6 deletions
diff --git a/libfshelp/lock-acquire.c b/libfshelp/lock-acquire.c index 0c1bb788..f8ddb7a6 100644 --- a/libfshelp/lock-acquire.c +++ b/libfshelp/lock-acquire.c @@ -19,7 +19,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Written by Michael I. Bushnell. */ -#include "fshelp.h" +#include "locks.h" error_t fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, @@ -46,12 +46,12 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, if (*user == LOCK_SH) { if (!--box->shcount) - box->lock_type == LOCK_UN; + box->type = LOCK_UN; } else if (*user == LOCK_EX) - box->lock_type == LOCK_UN; + box->type = LOCK_UN; - if (box->lock_type == LOCK_UN && box->waiting) + if (box->type == LOCK_UN && box->waiting) { box->waiting = 0; condition_broadcast (&box->wait); @@ -73,7 +73,7 @@ fshelp_acquire_lock (struct lock_box *box, int *user, struct mutex *mut, } /* If there is an exclusive lock, wait for it to end. */ - while (lock->type == LOCK_EX) + while (box->type == LOCK_EX) { if (flags & LOCK_NB) return EWOULDBLOCK; diff --git a/libfshelp/lock-init.c b/libfshelp/lock-init.c index f32dfae8..4b1da97e 100644 --- a/libfshelp/lock-init.c +++ b/libfshelp/lock-init.c @@ -19,6 +19,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Written by Michael I. Bushnell. */ +#include "locks.h" + /* Initialize a lock box. */ void fshelp_lock_init (struct lock_box *box) diff --git a/libfshelp/locks.h b/libfshelp/locks.h index b2dc1a53..dcecf5d9 100644 --- a/libfshelp/locks.h +++ b/libfshelp/locks.h @@ -1,5 +1,5 @@ /* - Copyright (C) 1993, 1994 Free Software Foundation + Copyright (C) 1994 Free Software Foundation This file is part of the GNU Hurd. @@ -24,3 +24,5 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <cthreads.h> #include <hurd/ports.h> #include "fshelp.h" +#include <sys/file.h> +#include <assert.h> |