diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-09-08 12:05:06 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-09-13 11:28:07 +0200 |
commit | df6c2df286c51c732d4257e80455c256e49cff3a (patch) | |
tree | 0cdfaf5c7c7b72152ce21fa4929f5700fdb90a13 | |
parent | 61fb63a65302574d277a1fad9234dfa69d968d28 (diff) | |
download | perl-df6c2df286c51c732d4257e80455c256e49cff3a.tar.gz |
Merge the implementations of 2 pairs of POSIX::SigSet methods.
Using ALIAS to merge addset() with delset() and emptyset() with fillset()
reduces the shared object size, by removing duplicate marshaling code for
arguments and return values. On this platform the saving is over .5K
-rw-r--r-- | ext/POSIX/POSIX.xs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index c288bfc7ba..1b7333e6a1 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -694,22 +694,25 @@ new(packname = "POSIX::SigSet", ...) } SysRet -sigaddset(sigset, sig) +addset(sigset, sig) POSIX::SigSet sigset int sig + ALIAS: + delset = 1 + CODE: + RETVAL = ix ? sigdelset(sigset, sig) : sigaddset(sigset, sig); + OUTPUT: + RETVAL SysRet -sigdelset(sigset, sig) - POSIX::SigSet sigset - int sig - -SysRet -sigemptyset(sigset) - POSIX::SigSet sigset - -SysRet -sigfillset(sigset) +emptyset(sigset) POSIX::SigSet sigset + ALIAS: + fillset = 1 + CODE: + RETVAL = ix ? sigfillset(sigset) : sigemptyset(sigset); + OUTPUT: + RETVAL int sigismember(sigset, sig) |