From 19c7e9da55646f1f6e05c28cd71865cd8d84e1ff Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Mon, 19 May 2008 02:24:17 +0200 Subject: [PATCH] preserve errno around the SIGIO handler --- hw/xfree86/os-support/shared/sigio.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c index c97f50302..f51131c6b 100644 --- a/hw/xfree86/os-support/shared/sigio.c +++ b/hw/xfree86/os-support/shared/sigio.c @@ -101,6 +101,7 @@ xf86SIGIO (int sig) int i; fd_set ready; struct timeval to; + int save_errno = errno; /* do not clobber the global errno */ int r; ready = xf86SigIOMask; @@ -117,6 +118,8 @@ xf86SIGIO (int sig) if (r > 0) { xf86Msg(X_ERROR, "SIGIO %d descriptors not handled\n", r); } + /* restore global errno */ + errno = save_errno; } static int