diff options
Diffstat (limited to 'libpager/lock-object.c')
-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); } } |