aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-02-17 13:15:26 +0000
committerGerd Moellmann2000-02-17 13:15:26 +0000
commit2503c8b1aee911d3a53a7950e39eab34c05192fb (patch)
treee1a55adb56e7a50faf91763dd1248717ed262ed8 /src
parent249652b19d1b0e8709e623483fcc6213e02dbf75 (diff)
downloademacs-2503c8b1aee911d3a53a7950e39eab34c05192fb.tar.gz
emacs-2503c8b1aee911d3a53a7950e39eab34c05192fb.zip
(stop_other_atimers): Don't call cancel_atimer because
that unblocks alarms.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/atimer.c22
2 files changed, 20 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c9edb3660b9..36092bdbe61 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12000-02-17 Gerd Moellmann <gerd@gnu.org> 12000-02-17 Gerd Moellmann <gerd@gnu.org>
2 2
3 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
4 that unblocks alarms.
5
3 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c, 6 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
4 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h, 7 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
5 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'. 8 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
diff --git a/src/atimer.c b/src/atimer.c
index 9dc4f508f8b..279c5f9eba1 100644
--- a/src/atimer.c
+++ b/src/atimer.c
@@ -214,11 +214,23 @@ stop_other_atimers (t)
214 214
215 if (t) 215 if (t)
216 { 216 {
217 cancel_atimer (t); 217 struct atimer *p, *prev;
218 if (free_atimers != t) 218
219 abort (); 219 /* See if T is active. */
220 free_atimers = free_atimers->next; 220 for (p = atimers, prev = 0; p && p != t; p = p->next)
221 t->next = NULL; 221 ;
222
223 if (p == t)
224 {
225 if (prev)
226 prev->next = t->next;
227 else
228 atimers = t->next;
229 t->next = NULL;
230 }
231 else
232 /* T is not active. Let's handle this like T == 0. */
233 t = NULL;
222 } 234 }
223 235
224 stopped_atimers = atimers; 236 stopped_atimers = atimers;