support linux kernel apis (new archs) with old syscalls removed
[musl] / src / linux / signalfd.c
index da6bced..4bf4332 100644 (file)
@@ -7,6 +7,7 @@
 int signalfd(int fd, const sigset_t *sigs, int flags)
 {
        int ret = __syscall(SYS_signalfd4, fd, sigs, _NSIG/8, flags);
+#ifdef SYS_signalfd
        if (ret != -ENOSYS) return __syscall_ret(ret);
        ret = __syscall(SYS_signalfd, fd, sigs, _NSIG/8);
        if (ret >= 0) {
@@ -15,5 +16,6 @@ int signalfd(int fd, const sigset_t *sigs, int flags)
                if (flags & SFD_NONBLOCK)
                        __syscall(SYS_fcntl, ret, F_SETFL, O_NONBLOCK);
        }
+#endif
        return __syscall_ret(ret);
 }