Return-Path: Delivered-To: modperl-cvs-archive@hyperreal.org Received: (qmail 8170 invoked by uid 6000); 19 May 1999 01:04:34 -0000 Received: (qmail 8048 invoked by uid 169); 19 May 1999 01:04:22 -0000 Date: 19 May 1999 01:04:22 -0000 Message-ID: <19990519010422.8044.qmail@hyperreal.org> From: dougm@hyperreal.org To: modperl-cvs@hyperreal.org Subject: cvs commit: modperl/t/conf httpd.conf-dist Sender: modperl-cvs-owner@apache.org Precedence: bulk Reply-To: modperl-cvs@apache.org dougm 99/05/18 18:04:21 Modified: . Changes src/modules/perl perl_util.c t/conf httpd.conf-dist Log: rework PerlFreshRestart to avoid core dump triggered w/ 5.005_03 Revision Changes Path 1.293 +2 -0 modperl/Changes Index: Changes =================================================================== RCS file: /export/home/cvs/modperl/Changes,v retrieving revision 1.292 retrieving revision 1.293 diff -u -r1.292 -r1.293 --- Changes 1999/05/18 22:07:55 1.292 +++ Changes 1999/05/19 01:03:57 1.293 @@ -8,6 +8,8 @@ =item 1.19_01-dev +rework PerlFreshRestart to avoid core dump triggered w/ 5.005_03 + fix $Apache::Server::Starting under dso use ap_bfileno() instead of r->connnection->client->fd directly 1.29 +11 -16 modperl/src/modules/perl/perl_util.c Index: perl_util.c =================================================================== RCS file: /export/home/cvs/modperl/src/modules/perl/perl_util.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- perl_util.c 1999/05/18 01:45:00 1.28 +++ perl_util.c 1999/05/19 01:04:13 1.29 @@ -464,25 +464,20 @@ void perl_reload_inc(void) { - SV *val; - char *key; - I32 klen; - HV *orig_inc = GvHV(incgv); - - ENTER; - - save_hptr(&GvHV(incgv)); - GvHV(incgv) = Nullhv; - SAVEI32(dowarn); + HV *hash = GvHV(incgv); + HE *entry; + I32 old_warn = dowarn; + dowarn = FALSE; - - (void)hv_iterinit(orig_inc); - while((val = hv_iternextsv(orig_inc, &key, &klen))) { + hv_iterinit(hash); + while ((entry = hv_iternext(hash))) { + char *key = HeKEY(entry); + SvREFCNT_dec(HeVAL(entry)); + HeVAL(entry) = &sv_undef; + MP_TRACE_g(fprintf(stderr, "reloading %s\n", key);) perl_require_pv(key); - MP_TRACE_g(fprintf(stderr, "reloading %s\n", key)); } - - LEAVE; + dowarn = old_warn; } I32 perl_module_is_loaded(char *name) 1.24 +1 -0 modperl/t/conf/httpd.conf-dist Index: httpd.conf-dist =================================================================== RCS file: /export/home/cvs/modperl/t/conf/httpd.conf-dist,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- httpd.conf-dist 1999/03/26 20:23:03 1.23 +++ httpd.conf-dist 1999/05/19 01:04:18 1.24 @@ -15,6 +15,7 @@ #-Tw PerlTaintCheck On PerlWarn On + PerlFreshRestart On =back to pod