Fix a Win32 linker error following change #25972
[p5sagit/p5-mst-13.2.git] / iperlsys.h
index 883f935..bcce719 100644 (file)
 #include "perlio.h"
 
 #ifndef Sighandler_t
+#  if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+typedef Signal_t (*Sighandler_t) (int, ...);
+#  else
 typedef Signal_t (*Sighandler_t) (int);
+#  endif
 #endif
 
 #if defined(PERL_IMPLICIT_SYS)
@@ -628,7 +632,7 @@ typedef int         (*LPLIONameStat)(struct IPerlLIO*, const char*,
 typedef char*          (*LPLIOTmpnam)(struct IPerlLIO*, char*);
 typedef int            (*LPLIOUmask)(struct IPerlLIO*, int);
 typedef int            (*LPLIOUnlink)(struct IPerlLIO*, const char*);
-typedef int            (*LPLIOUtime)(struct IPerlLIO*, char*, struct utimbuf*);
+typedef int            (*LPLIOUtime)(struct IPerlLIO*, const char*, struct utimbuf*);
 typedef int            (*LPLIOWrite)(struct IPerlLIO*, int, const void*,
                            unsigned int);
 
@@ -915,8 +919,10 @@ struct IPerlProcInfo;
 typedef void           (*LPProcAbort)(struct IPerlProc*);
 typedef char*          (*LPProcCrypt)(struct IPerlProc*, const char*,
                            const char*);
-typedef void           (*LPProcExit)(struct IPerlProc*, int);
-typedef void           (*LPProc_Exit)(struct IPerlProc*, int);
+typedef void           (*LPProcExit)(struct IPerlProc*, int)
+                           __attribute__noreturn__;
+typedef void           (*LPProc_Exit)(struct IPerlProc*, int)
+                           __attribute__noreturn__;
 typedef int            (*LPProcExecl)(struct IPerlProc*, const char*,
                            const char*, const char*, const char*,
                            const char*);