| Submitter | Andreas Färber |
|---|---|
| Date | March 28, 2012, 12:52 p.m. |
| Message ID | <1332939159-16434-7-git-send-email-afaerber@suse.de> |
| Download | mbox | patch |
| Permalink | /patch/149206/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/compatfd.c b/compatfd.c index 31654c6..02306a4 100644 --- a/compatfd.c +++ b/compatfd.c @@ -119,9 +119,17 @@ int qemu_signalfd(const sigset_t *mask) bool qemu_signalfd_available(void) { #ifdef CONFIG_SIGNALFD + sigset_t mask; + int fd; + bool ok; + sigemptyset(&mask); errno = 0; - syscall(SYS_signalfd, -1, NULL, _NSIG / 8); - return errno != ENOSYS; + fd = syscall(SYS_signalfd, -1, &mask, _NSIG / 8); + ok = (errno != ENOSYS); + if (fd >= 0) { + close(fd); + } + return ok; #else return false; #endif