summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/POSIX.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/POSIX.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pm46
1 files changed, 42 insertions, 4 deletions
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pm b/Master/tlpkg/tlperl/lib/POSIX.pm
index 6fc0e7518e0..05bdbbe7e6d 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pm
+++ b/Master/tlpkg/tlperl/lib/POSIX.pm
@@ -4,7 +4,7 @@ use warnings;
our ($AUTOLOAD, %SIGRT);
-our $VERSION = '1.53_01';
+our $VERSION = '1.65';
require XSLoader;
@@ -234,7 +234,7 @@ sub sprintf {
}
sub load_imports {
-my %default_export_tags = (
+my %default_export_tags = ( # cf. exports policy below
assert_h => [qw(assert NDEBUG)],
@@ -389,7 +389,22 @@ my %default_export_tags = (
utime_h => [],
);
-my %other_export_tags = (
+if ($^O eq 'MSWin32') {
+ $default_export_tags{winsock_h} = [qw(
+ WSAEINTR WSAEBADF WSAEACCES WSAEFAULT WSAEINVAL WSAEMFILE WSAEWOULDBLOCK
+ WSAEINPROGRESS WSAEALREADY WSAENOTSOCK WSAEDESTADDRREQ WSAEMSGSIZE
+ WSAEPROTOTYPE WSAENOPROTOOPT WSAEPROTONOSUPPORT WSAESOCKTNOSUPPORT
+ WSAEOPNOTSUPP WSAEPFNOSUPPORT WSAEAFNOSUPPORT WSAEADDRINUSE
+ WSAEADDRNOTAVAIL WSAENETDOWN WSAENETUNREACH WSAENETRESET WSAECONNABORTED
+ WSAECONNRESET WSAENOBUFS WSAEISCONN WSAENOTCONN WSAESHUTDOWN
+ WSAETOOMANYREFS WSAETIMEDOUT WSAECONNREFUSED WSAELOOP WSAENAMETOOLONG
+ WSAEHOSTDOWN WSAEHOSTUNREACH WSAENOTEMPTY WSAEPROCLIM WSAEUSERS
+ WSAEDQUOT WSAESTALE WSAEREMOTE WSAEDISCON WSAENOMORE WSAECANCELLED
+ WSAEINVALIDPROCTABLE WSAEINVALIDPROVIDER WSAEPROVIDERFAILEDINIT
+ WSAEREFUSED)];
+}
+
+my %other_export_tags = ( # cf. exports policy below
fenv_h => [qw(
FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD fegetround fesetround
)],
@@ -403,8 +418,27 @@ my %other_export_tags = (
)],
stdlib_h_c99 => [ @{$default_export_tags{stdlib_h}}, 'strtold' ],
+
+ nan_payload => [ qw(getpayload setpayload setpayloadsig issignaling) ],
+
+ signal_h_si_code => [qw(
+ ILL_ILLOPC ILL_ILLOPN ILL_ILLADR ILL_ILLTRP ILL_PRVOPC ILL_PRVREG
+ ILL_COPROC ILL_BADSTK
+ FPE_INTDIV FPE_INTOVF FPE_FLTDIV FPE_FLTOVF FPE_FLTUND
+ FPE_FLTRES FPE_FLTINV FPE_FLTSUB
+ SEGV_MAPERR SEGV_ACCERR
+ BUS_ADRALN BUS_ADRERR BUS_OBJERR
+ TRAP_BRKPT TRAP_TRACE
+ CLD_EXITED CLD_KILLED CLD_DUMPED CLD_TRAPPED CLD_STOPPED CLD_CONTINUED
+ POLL_IN POLL_OUT POLL_MSG POLL_ERR POLL_PRI POLL_HUP
+ SI_USER SI_QUEUE SI_TIMER SI_ASYNCIO SI_MESGQ
+ )],
);
+# exports policy:
+# - new functions may not be added to @EXPORT, only to @EXPORT_OK
+# - new SHOUTYCONSTANTS are OK to add to @EXPORT
+
{
# De-duplicate the export list:
my ( %export, %export_ok );
@@ -414,8 +448,12 @@ my %other_export_tags = (
# @EXPORT are actually shared hash key scalars, which will save some memory.
our @EXPORT = keys %export;
+ # you do not want to add symbols to the following list. add a new tag instead
our @EXPORT_OK = (qw(close lchown nice open pipe read sleep times write
- printf sprintf),
+ printf sprintf lround),
+ # lround() should really be in the :math_h_c99 tag, but
+ # we're too far into the 5.24 code freeze for that to be
+ # done now. This can be revisited in the 5.25.x cycle.
grep {!exists $export{$_}} keys %reimpl, keys %replacement, keys %export_ok);
our %EXPORT_TAGS = ( %default_export_tags, %other_export_tags );