Mailing List Archive

Patch 3 to my Jumbo Configure patch vs. 1m.
# This is patch 3 to my Jumbo Configure patch for perl5.001m.
# See description below.
# Andy Dougherty doughera@lafcol.lafayette.edu
#
exit 0

This patch 3 to my Jumbo Configure patch for perl5.001m of September 27,
1995. Apply with patch -p1 -N.

In patch 2, I cleaned up the Configure/signal name stuff. Alas, I forgot
to change POSIX.xs to match. This patch does that. Unfortunately, it
means the new whichsigname() function can not be private to mg.c. Thus
global.sym, embed.h, and proto.h have been updated too.

If you have an extension that uses sig_name[sig] to get the signal name,
please either change it to whichsigname(sig) or complain to me and
convince me to change it back:-)

If the embed.h patch gets rejected, try
make regen_headers
to rebuild it.

Files changed:
embed.h
List whichsigname(int sig) function.

ext/POSIX/POSIX.xs
Use whichsigname(sig) instead of sig_name[sig].

global.sym
List whichsigname(int sig) function.

mg.c
whichsigname(int sig) function no longer static.

proto.h
Prototype for whichsigname(int sig).

Patch and Enjoy,

Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042

Index: embed.h
*** perl5.001m+/embed.h Sat Oct 21 11:36:25 1995
--- perl5.001n/embed.h Sat Oct 21 11:32:47 1995
***************
*** 975,980 ****
--- 975,981 ----
#define warn Perl_warn
#define watch Perl_watch
#define whichsig Perl_whichsig
+ #define whichsigname Perl_whichsigname
#define xiv_arenaroot Perl_xiv_arenaroot
#define xiv_root Perl_xiv_root
#define xnv_root Perl_xnv_root
Index: ext/POSIX/POSIX.xs
*** perl5.001m+/ext/POSIX/POSIX.xs Tue May 23 14:54:27 1995
--- perl5.001n/ext/POSIX/POSIX.xs Sat Oct 21 11:13:20 1995
***************
*** 2753,2760 ****
POSIX__SigSet sigset;
SV** svp;
SV** sigsvp = hv_fetch(GvHVn(siggv),
! sig_name[sig],
! strlen(sig_name[sig]),
TRUE);

/* Remember old handler name if desired. */
--- 2753,2760 ----
POSIX__SigSet sigset;
SV** svp;
SV** sigsvp = hv_fetch(GvHVn(siggv),
! whichsigname(sig),
! strlen(whichsigname(sig)),
TRUE);

/* Remember old handler name if desired. */
Index: global.sym
*** perl5.001m+/global.sym Sat Oct 21 11:36:26 1995
--- perl5.001n/global.sym Sat Oct 21 11:12:10 1995
***************
*** 975,980 ****
--- 975,981 ----
warn
watch
whichsig
+ whichsigname
xiv_arenaroot
xiv_root
xnv_root
Index: mg.c
*** perl5.001m+/mg.c Sat Oct 21 11:36:27 1995
--- perl5.001n/mg.c Sat Oct 21 11:11:21 1995
***************
*** 21,27 ****
#endif
*/

- static char * whichsigname _((int sig));

void
mg_magical(sv)
--- 21,26 ----
***************
*** 1241,1247 ****
return 0;
}

! static char *
whichsigname(sig)
int sig;
{
--- 1240,1246 ----
return 0;
}

! char *
whichsigname(sig)
int sig;
{
Index: proto.h
*** perl5.001m+/proto.h Thu Jun 22 10:28:05 1995
--- perl5.001n/proto.h Sat Oct 21 11:12:01 1995
***************
*** 459,464 ****
--- 459,465 ----
void warn _((char* pat,...)) __attribute__((format(printf,1,2)));
void watch _((char **addr));
I32 whichsig _((char* sig));
+ char* whichsigname _((int sig));
int yyerror _((char* s));
int yylex _((void));
int yyparse _((void));


End of patch.