//bugs.freedesktop.org/show_bug.cgi?id=2543) attachment #2019

(https://bugs.freedesktop.org/attachment.cgi?id=2019): Fix
    |xf86SignalHandler()| which resets the signal handler before setting
    the flag indicating a signal has been caught, theoretically allowing
    the possibility of infinite recursion. Patch by Andrew Church
    <xzilla@achurch.org>.
This commit is contained in:
Roland Mainz 2005-03-05 20:47:12 +00:00
parent d995fe631a
commit 602209990d

View File

@ -49,7 +49,7 @@
*/ */
/* $XConsortium: xf86Events.c /main/46 1996/10/25 11:36:30 kaleb $ */ /* $XConsortium: xf86Events.c /main/46 1996/10/25 11:36:30 kaleb $ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v 1.4 2004/10/11 09:58:04 eich Exp $ */ /* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Events.c,v 1.6 2005/01/28 16:12:58 eich Exp $ */
/* [JCH-96/01/21] Extended std reverse map to four buttons. */ /* [JCH-96/01/21] Extended std reverse map to four buttons. */
@ -1288,9 +1288,9 @@ xf86SigHandler(int signo)
} }
if (xf86SignalIntercept && (*xf86SignalIntercept < 0)) { if (xf86SignalIntercept && (*xf86SignalIntercept < 0)) {
*xf86SignalIntercept = signo;
/* Re-arm handler just in case */ /* Re-arm handler just in case */
(void) signal(signo, xf86SigHandler); (void) signal(signo, xf86SigHandler);
*xf86SignalIntercept = signo;
return; return;
} }