Return-Path: Delivered-To: apmail-perl-modperl-cvs-archive@www.apache.org Received: (qmail 71836 invoked from network); 24 Jan 2006 02:27:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Jan 2006 02:27:38 -0000 Received: (qmail 42378 invoked by uid 500); 24 Jan 2006 02:27:38 -0000 Delivered-To: apmail-perl-modperl-cvs-archive@perl.apache.org Received: (qmail 42361 invoked by uid 500); 24 Jan 2006 02:27:37 -0000 Mailing-List: contact modperl-cvs-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@perl.apache.org List-Id: Delivered-To: mailing list modperl-cvs@perl.apache.org Received: (qmail 42346 invoked by uid 99); 24 Jan 2006 02:27:37 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Jan 2006 18:27:37 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 23 Jan 2006 18:27:36 -0800 Received: (qmail 71693 invoked by uid 65534); 24 Jan 2006 02:27:15 -0000 Message-ID: <20060124022715.71692.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r371775 - in /perl/modperl/trunk: Changes lib/ModPerl/Code.pm src/modules/perl/modperl_cmd.c src/modules/perl/modperl_config.c t/conf/extra.last.conf.in Date: Tue, 24 Jan 2006 02:27:14 -0000 To: modperl-cvs@perl.apache.org From: gozer@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: gozer Date: Mon Jan 23 18:27:10 2006 New Revision: 371775 URL: http://svn.apache.org/viewcvs?rev=371775&view=rev Log: Resolves a critical bug in 'PerlSwitches +inherit' handling that was causing segfaults under some usages. This fix has the nice side-effect of introducing a new & slightly cleaner syntax to specify inheritance of PerlSwitches: PerlOptions +InheritSwitches Reported-By: "Eamon Daly" Report-Thread: http://thread.gmane.org/gmane.comp.apache.mod-perl/22750 Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/ModPerl/Code.pm perl/modperl/trunk/src/modules/perl/modperl_cmd.c perl/modperl/trunk/src/modules/perl/modperl_config.c perl/modperl/trunk/t/conf/extra.last.conf.in Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?rev=371775&r1=371774&r2=371775&view=diff ============================================================================== --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Jan 23 18:27:10 2006 @@ -12,6 +12,10 @@ =item 2.0.3-dev +Fix 'PerlSwitches +inherit' that got broken somewhere along +the way to 2.0. You can also use 'PerlOptions +InheritSwitches' +for the same result. [Gozer] + Add perl API corresponding to User and Group directives in httpd.conf: Apache2::ServerUtil->user_id and Apache2::ServerUtil->group_id [Stas] Modified: perl/modperl/trunk/lib/ModPerl/Code.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/ModPerl/Code.pm?rev=371775&r1=371774&r2=371775&view=diff ============================================================================== --- perl/modperl/trunk/lib/ModPerl/Code.pm (original) +++ perl/modperl/trunk/lib/ModPerl/Code.pm Mon Jan 23 18:27:10 2006 @@ -137,7 +137,7 @@ my @ithread_opts = qw(CLONE PARENT); my %flags = ( Srv => ['NONE', @ithread_opts, qw(ENABLE AUTOLOAD MERGE_HANDLERS), - @hook_flags, 'UNSET'], + @hook_flags, 'UNSET','INHERIT_SWITCHES'], Dir => [qw(NONE PARSE_HEADERS SETUP_ENV MERGE_HANDLERS GLOBAL_REQUEST UNSET)], Req => [qw(NONE SET_GLOBAL_REQUEST PARSE_HEADERS SETUP_ENV CLEANUP_REGISTERED PERL_SET_ENV_DIR PERL_SET_ENV_SRV)], Modified: perl/modperl/trunk/src/modules/perl/modperl_cmd.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_cmd.c?rev=371775&r1=371774&r2=371775&view=diff ============================================================================== --- perl/modperl/trunk/src/modules/perl/modperl_cmd.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_cmd.c Mon Jan 23 18:27:10 2006 @@ -156,7 +156,13 @@ return modperl_cmd_too_late(parms); } MP_TRACE_d(MP_FUNC, "arg = %s\n", arg); - modperl_config_srv_argv_push(arg); + + if(0 == strncasecmp(arg, "+inherit", 8)) { + modperl_cmd_options(parms, mconfig, "+InheritSwitches"); + } + else { + modperl_config_srv_argv_push(arg); + } return NULL; } Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=371775&r1=371774&r2=371775&view=diff ============================================================================== --- perl/modperl/trunk/src/modules/perl/modperl_config.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_config.c Mon Jan 23 18:27:10 2006 @@ -302,9 +302,7 @@ merge_item(perl); #endif - if (add->argv->nelts == 2 && - strEQ(((char **)add->argv->elts)[1], "+inherit")) - { + if (MpSrvINHERIT_SWITCHES(add)) { /* only inherit base PerlSwitches if explicitly told to */ mrg->argv = base->argv; } Modified: perl/modperl/trunk/t/conf/extra.last.conf.in URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/t/conf/extra.last.conf.in?rev=371775&r1=371774&r2=371775&view=diff ============================================================================== --- perl/modperl/trunk/t/conf/extra.last.conf.in (original) +++ perl/modperl/trunk/t/conf/extra.last.conf.in Mon Jan 23 18:27:10 2006 @@ -94,3 +94,11 @@ =cut PerlSetVar TestDirective__pod_cut_worked yes + +#This used to trigger a segfault on startup +#See http://thread.gmane.org/gmane.comp.apache.mod-perl/22750 + + PerlSwitches +inherit + PerlOptions +Parent + Perl 1 +