]> git.eshelyaron.com Git - emacs.git/commit
Fix infloop in GC mark_kboards
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Nov 2018 22:22:54 +0000 (14:22 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 30 Nov 2018 22:27:02 +0000 (14:27 -0800)
commit7d9fa89fb3f6db0bdc3960bbbf6c0cf34c98d1ca
tree44bbdbf5e20e56c3fddc7ce9eef7d74391ec6a74
parentc53e7f2c23bf02069469e764bf8563244ef6751a
Fix infloop in GC mark_kboards

* src/keyboard.c (KBD_BUFFER_SIZE): Now a constant, not a macro.
(kbd_fetch_ptr, kbd_store_ptr): These now always point somewhere
into kbd_buffer, instead of sometimes pointing just past the
end which led to serious bugs (Bug#33547).  All uses changed.
(kbd_store_ptr): No longer volatile.  This variable has not been
accessed by a signal handler for some time, it seems.
(next_kbd_event, prev_kbd_event): New functions.
(kbd_buffer_nr_stored, process_special_events): Simplify.
src/keyboard.c