--- IO-AIO/AIO.xs 2020/12/29 15:28:02 1.287 +++ IO-AIO/AIO.xs 2021/07/27 07:58:35 1.291 @@ -229,6 +229,11 @@ # define PAGESIZE sysconf (_SC_PAGESIZE) #endif +/* solaris perl seems to declare a wrong syscall function that clashes with system includes */ +#ifdef __sun +# undef HAVE_SYSCALL +#endif + #if HAVE_SYSCALL #include #else @@ -1200,6 +1205,10 @@ const_iv (MAP_32BIT) const_iv (MAP_HUGETLB) const_iv (MAP_STACK) + const_iv (MAP_FIXED_NOREPLACE) + const_iv (MAP_SHARED_VALIDATE) + const_iv (MAP_SYNC) + const_iv (MAP_UNINITIALIZED) const_iv (MREMAP_MAYMOVE) const_iv (MREMAP_FIXED) @@ -1373,6 +1382,25 @@ const_iv (P_PGID) const_iv (P_ALL) + const_iv (FSCONFIG_SET_FLAG) + const_iv (FSCONFIG_SET_STRING) + const_iv (FSCONFIG_SET_BINARY) + const_iv (FSCONFIG_SET_PATH) + const_iv (FSCONFIG_SET_PATH_EMPTY) + const_iv (FSCONFIG_SET_FD) + const_iv (FSCONFIG_CMD_CREATE) + const_iv (FSCONFIG_CMD_RECONFIGURE) + + const_iv (MOUNT_ATTR_RDONLY) + const_iv (MOUNT_ATTR_NOSUID) + const_iv (MOUNT_ATTR_NODEV) + const_iv (MOUNT_ATTR_NOEXEC) + const_iv (MOUNT_ATTR__ATIME) + const_iv (MOUNT_ATTR_RELATIME) + const_iv (MOUNT_ATTR_NOATIME) + const_iv (MOUNT_ATTR_STRICTATIME) + const_iv (MOUNT_ATTR_NODIRATIME) + /* these are libeio constants, and are independent of gendef0 */ const_eio (SEEK_SET) const_eio (SEEK_CUR) @@ -2655,6 +2683,7 @@ pidfd_send_signal (SV *pidfh, int sig, SV *siginfo = &PL_sv_undef, unsigned int flags = 0) PPCODE: { + #if HAVE_SIGINFO_T int res; siginfo_t si = { 0 }; @@ -2677,6 +2706,9 @@ /*GENDEF0_SYSCALL(pidfd_send_signal,424)*/ res = syscall (SYS_pidfd_send_signal, s_fileno_croak (pidfh, 0), sig, SvOK (siginfo) ? &si : 0, flags); + #else + res = (errno = ENOSYS, -1); + #endif XPUSHs (sv_2mortal (newSViv (res))); }