#include <sys/signalfd.h>
#include <signal.h>
#include <errno.h>
#include <fcntl.h>
#include "syscall.h"

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) {
    if (flags & SFD_CLOEXEC)
      __syscall(SYS_fcntl, ret, F_SETFD, FD_CLOEXEC);
    if (flags & SFD_NONBLOCK)
      __syscall(SYS_fcntl, ret, F_SETFL, O_NONBLOCK);
  }
#endif
  return __syscall_ret(ret);
}
