Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal

From: Eli Zaretskii <[email-masked]>
Date: Sun, 18 Dec 2022 13:43:03 +0200

> From: Po Lu <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Sun, 18 Dec 2022 17:52:42 +0800
> 
> > Why this fragile architecture of reading input events?  Calling
> > functions of our Lisp machine from context where those functions
> > cannot signal an error is very dangerous, and cannot work well in
> > Emacs.  Why cannot we have the reads through GTK only deliver events
> > to us, which we enqueue to our own event queue, and then we could
> > process that queue in the safe context of the Lisp machine, as (AFAIK)
> > we do on other platforms?
> 
> No, signalling there is equally unsafe on the other platforms, where
> note_mouse_highlight is called from the same place(s): read_socket_hook,
> event_handler_gdk, et cetera.  Just look at the callers of
> x_note_mouse_movement in xterm.c, or [EmacsView mouseMoved:] in
> nsterm.m.

Sorry, I'm afraid I don't see the danger on other platforms.  Please
explain.  AFAIK, read_socket_hook is called from keyboard.c code which
reads input, and that code has no problem signaling an error.  What am
I missing?