diff options
author | Miles Bader <miles@gnu.org> | 1996-03-06 23:10:30 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-03-06 23:10:30 +0000 |
commit | 2644dff68f07d9bf27bf3a1c7936e48aae282fac (patch) | |
tree | 04441f39ddafa822148928ed64444518adbe2d76 | |
parent | 5aea9288fa4ab2c1fee38f6226f214e11e5a9984 (diff) |
(pager_change_attributes):
Correctly remove AR from P's linked list of attribute change requests.
-rw-r--r-- | libpager/pager-attr.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libpager/pager-attr.c b/libpager/pager-attr.c index 762bb971..cbc1533f 100644 --- a/libpager/pager-attr.c +++ b/libpager/pager-attr.c @@ -1,5 +1,5 @@ /* Changing pager attributes synchronously - Copyright (C) 1994 Free Software Foundation + Copyright (C) 1994, 1996 Free Software Foundation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -84,9 +84,12 @@ pager_change_attributes (struct pager *p, { while (ar->attrs_pending) condition_wait (&p->wakeup, &p->interlock); - if (!--ar->threads_waiting) + + if (! --ar->threads_waiting) { *ar->prevp = ar->next; + if (ar->next) + ar->next->prevp = ar->prevp; free (ar); } } |