From: Slaven Rezic Date: Sat, 29 Sep 2007 05:38:08 +0000 (-0700) Subject: [perl #45513] Test failures on amd64-freebsd 6.2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b6455c53c26be8a62e12a3f2a24a3a5086dd2c7b;p=p5sagit%2Fp5-mst-13.2.git [perl #45513] Test failures on amd64-freebsd 6.2 From: "slaven@rezic.de via RT" Message-ID: p4raw-id: //depot/perl@32012 --- diff --git a/embed.fnc b/embed.fnc index c12ca2a..03fffa4 100644 --- a/embed.fnc +++ b/embed.fnc @@ -795,8 +795,8 @@ p |I32 |setenv_getix |NN const char* nam EXp |void |setdefout |NULLOK GV* gv Ap |HEK* |share_hek |NN const char* str|I32 len|U32 hash #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -np |Signal_t |sighandler |int sig|... -Anp |Signal_t |csighandler |int sig|... +np |Signal_t |sighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap +Anp |Signal_t |csighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap #else np |Signal_t |sighandler |int sig Anp |Signal_t |csighandler |int sig diff --git a/embed.h b/embed.h index 1b6d88e..e97d5db 100644 --- a/embed.h +++ b/embed.h @@ -3087,7 +3087,9 @@ #define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c) #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) #ifdef PERL_CORE +#define sighandler Perl_sighandler #endif +#define csighandler Perl_csighandler #else #ifdef PERL_CORE #define sighandler Perl_sighandler diff --git a/mg.c b/mg.c index 128f2a2..e97b8dd 100644 --- a/mg.c +++ b/mg.c @@ -56,7 +56,7 @@ tie. #endif #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -Signal_t Perl_csighandler(int sig, ...); +Signal_t Perl_csighandler(int sig, siginfo_t *, void *); #else Signal_t Perl_csighandler(int sig); #endif @@ -1307,7 +1307,7 @@ S_raise_signal(pTHX_ int sig) Signal_t #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -Perl_csighandler(int sig, ...) +Perl_csighandler(int sig, siginfo_t *sip PERL_UNUSED_DECL, void *uap PERL_UNUSED_DECL) #else Perl_csighandler(int sig) #endif @@ -1318,7 +1318,6 @@ Perl_csighandler(int sig) dTHX; #endif #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) - va_list args; #endif #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS (void) rsignal(sig, PL_csighandlerp); @@ -1333,7 +1332,6 @@ Perl_csighandler(int sig) #endif #endif #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) - va_start(args, sig); #endif if ( #ifdef SIGILL @@ -1352,7 +1350,6 @@ Perl_csighandler(int sig) else S_raise_signal(aTHX_ sig); #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) - va_end(args); #endif } @@ -2778,7 +2775,7 @@ Perl_whichsig(pTHX_ const char *sig) Signal_t #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -Perl_sighandler(int sig, ...) +Perl_sighandler(int sig, siginfo_t *sip, void *uap PERL_UNUSED_DECL) #else Perl_sighandler(int sig) #endif @@ -2856,11 +2853,6 @@ Perl_sighandler(int sig) struct sigaction oact; if (sigaction(sig, 0, &oact) == 0 && oact.sa_flags & SA_SIGINFO) { - siginfo_t *sip; - va_list args; - - va_start(args, sig); - sip = (siginfo_t*)va_arg(args, siginfo_t*); if (sip) { HV *sih = newHV(); SV *rv = newRV_noinc((SV*)sih); @@ -2881,7 +2873,6 @@ Perl_sighandler(int sig) PUSHs(newSVpv((char *)sip, sizeof(*sip))); } - va_end(args); } } #endif diff --git a/proto.h b/proto.h index 8586650..28cfdef 100644 --- a/proto.h +++ b/proto.h @@ -2137,8 +2137,8 @@ PERL_CALLCONV HEK* Perl_share_hek(pTHX_ const char* str, I32 len, U32 hash) __attribute__nonnull__(pTHX_1); #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) -PERL_CALLCONV Signal_t Perl_sighandler(int sig, ...); -PERL_CALLCONV Signal_t Perl_csighandler(int sig, ...); +PERL_CALLCONV Signal_t Perl_sighandler(int sig, siginfo_t *info, void *uap); +PERL_CALLCONV Signal_t Perl_csighandler(int sig, siginfo_t *info, void *uap); #else PERL_CALLCONV Signal_t Perl_sighandler(int sig); PERL_CALLCONV Signal_t Perl_csighandler(int sig);