aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorPaul Eggert2015-07-17 11:54:24 -0700
committerPaul Eggert2015-08-05 10:36:46 -0700
commita27ae9d7650a1230d4359eaf0a949f827315a6d2 (patch)
tree22b1733c43693ef2869a1408a7783efc35b6b16e /src/dispextern.h
parenta5e6f33b4c8222ad62fdd7ff4bb0f8c5fac432c1 (diff)
downloademacs-24.tar.gz
emacs-24.zip
Fix hang with large yanksemacs-24
Backport of master commit 0592cefd03f1de2f04b721d07a16e6e0a9e48f73. This should fix the bug fixed by Mike Crowe's patch in: https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html A problem in this area has been reported by several users; see Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283. This fix differs from Mike Crowe's patch in that it should avoid a race condition that could lose SIGIO signals. ignore_sigio dates back to the 1980s when some platforms couldn't block signals, and could only ignore them, which led to races when signals arrived while being ignored. We shouldn't have to worry about those old platforms now. * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove. * src/emacs.c (shut_down_emacs): Don't call ignore_sigio; unrequest_sigio should suffice. * src/keyboard.c (kbd_buffer_store_buffered_event): Use unrequest_sigio, not ignore_sigio. (kbd_buffer_get_event): Call request_sigio when getting the ball rolling again.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 239c4425646..cf3d1ecaf9c 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -3349,7 +3349,6 @@ void unrequest_sigio (void);
3349bool tabs_safe_p (int); 3349bool tabs_safe_p (int);
3350void init_baud_rate (int); 3350void init_baud_rate (int);
3351void init_sigio (int); 3351void init_sigio (int);
3352void ignore_sigio (void);
3353 3352
3354/* Defined in xfaces.c. */ 3353/* Defined in xfaces.c. */
3355 3354