diff options
author | Miles Bader <miles@gnu.org> | 1996-03-06 23:09:51 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-03-06 23:09:51 +0000 |
commit | 5aea9288fa4ab2c1fee38f6226f214e11e5a9984 (patch) | |
tree | 407a87bdd82866c9199e97d6e317e16a58c3c76a /libpager | |
parent | 44c0e147c2e89748143138b952dc9ac63106de56 (diff) |
(_pager_lock_object):
Correctly remove LR from P's linked list of lock requests.
Diffstat (limited to 'libpager')
-rw-r--r-- | libpager/lock-object.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libpager/lock-object.c b/libpager/lock-object.c index d4740ee3..4d0ce7c5 100644 --- a/libpager/lock-object.c +++ b/libpager/lock-object.c @@ -79,9 +79,11 @@ _pager_lock_object (struct pager *p, while (lr->locks_pending || lr->pending_writes) condition_wait (&p->wakeup, &p->interlock); - if (!--lr->threads_waiting) + if (! --lr->threads_waiting) { *lr->prevp = lr->next; + if (lr->next) + lr->next->prevp = lr->prevp; free (lr); } } |