diff options
| author | Daniel Colascione | 2014-02-24 06:27:37 -0800 |
|---|---|---|
| committer | Daniel Colascione | 2014-02-24 06:27:37 -0800 |
| commit | 7c56ecf5f550703a28831c8ac8de940cc7d88599 (patch) | |
| tree | 2139ee2d8e7339e12ac7cd1bc625236d08ee623f /src | |
| parent | f1037d0b8b95cf2afcbacededaae1627b3cb22f1 (diff) | |
| parent | 146a4cf20237685a47cb3e8e85b85d63d4dff704 (diff) | |
| download | emacs-7c56ecf5f550703a28831c8ac8de940cc7d88599.tar.gz emacs-7c56ecf5f550703a28831c8ac8de940cc7d88599.zip | |
Fix event race
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/keyboard.c | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 86605b97764..ed71ae9452b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2014-02-24 Daniel Colascione <dancol@dancol.org> | ||
| 2 | |||
| 3 | * keyboard.c (read_char): Close race that resulted in lost events. | ||
| 4 | |||
| 1 | 2014-02-22 Glenn Morris <rgm@gnu.org> | 5 | 2014-02-22 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * frame.c (frame-alpha-lower-limit, frame-resize-pixelwise): | 7 | * frame.c (frame-alpha-lower-limit, frame-resize-pixelwise): |
diff --git a/src/keyboard.c b/src/keyboard.c index 9dcb58ae66c..038ce6ea601 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -2891,8 +2891,12 @@ read_char (int commandflag, Lisp_Object map, | |||
| 2891 | { | 2891 | { |
| 2892 | c = read_decoded_event_from_main_queue (end_time, local_getcjmp, | 2892 | c = read_decoded_event_from_main_queue (end_time, local_getcjmp, |
| 2893 | prev_event, used_mouse_menu); | 2893 | prev_event, used_mouse_menu); |
| 2894 | if (end_time && timespec_cmp (*end_time, current_timespec ()) <= 0) | 2894 | if (NILP(c) && end_time && |
| 2895 | goto exit; | 2895 | timespec_cmp (*end_time, current_timespec ()) <= 0) |
| 2896 | { | ||
| 2897 | goto exit; | ||
| 2898 | } | ||
| 2899 | |||
| 2896 | if (EQ (c, make_number (-2))) | 2900 | if (EQ (c, make_number (-2))) |
| 2897 | { | 2901 | { |
| 2898 | /* This is going to exit from read_char | 2902 | /* This is going to exit from read_char |