diff options
| author | Gerd Moellmann | 2000-02-17 13:15:26 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-02-17 13:15:26 +0000 |
| commit | 2503c8b1aee911d3a53a7950e39eab34c05192fb (patch) | |
| tree | e1a55adb56e7a50faf91763dd1248717ed262ed8 /src | |
| parent | 249652b19d1b0e8709e623483fcc6213e02dbf75 (diff) | |
| download | emacs-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/ChangeLog | 3 | ||||
| -rw-r--r-- | src/atimer.c | 22 |
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 @@ | |||
| 1 | 2000-02-17 Gerd Moellmann <gerd@gnu.org> | 1 | 2000-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; |