emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 061c2d683f: Fix longjmp/siglongjmp mixup


From: Po Lu
Subject: master 061c2d683f: Fix longjmp/siglongjmp mixup
Date: Thu, 26 May 2022 20:13:21 -0400 (EDT)

branch: master
commit 061c2d683fae03b63872c08f6c4db37f930bb3b7
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Fix longjmp/siglongjmp mixup
    
    * src/xterm.c (xm_drag_window_io_error_handler)
    (x_dnd_io_error_handler): Use `siglongjmp'.  Reported by Ken
    Brown <kbrown@cornell.edu>.
---
 src/xterm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index d949439d18..2c50b50815 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -1157,7 +1157,7 @@ static unsigned int x_dnd_keyboard_state;
 
 /* jmp_buf that gets us out of the IO error handler if an error occurs
    terminating DND as part of the display disconnect handler.  */
-static jmp_buf x_dnd_disconnect_handler;
+static sigjmp_buf x_dnd_disconnect_handler;
 
 /* Structure describing a single window that can be the target of
    drag-and-drop operations.  */
@@ -1612,7 +1612,7 @@ xm_drag_window_io_error_handler (Display *dpy)
 {
   /* DPY isn't created through GDK, so it doesn't matter if we don't
      crash here.  */
-  longjmp (x_dnd_disconnect_handler, 1);
+  siglongjmp (x_dnd_disconnect_handler, 1);
 }
 
 static Window
@@ -2830,7 +2830,7 @@ x_dnd_io_error_handler (Display *display)
 #ifdef USE_GTK
   emacs_abort ();
 #else
-  longjmp (x_dnd_disconnect_handler, 1);
+  siglongjmp (x_dnd_disconnect_handler, 1);
 #endif
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]