You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Stas Bekman <st...@stason.org> on 2002/12/27 03:20:01 UTC

[patch] modperl/src/modules/perl/mod_perl.h

Unless I'm blind again, I can't see how 3rd party modules that use 
Apache C API can build when a threaded perl is used with mod_perl 1.0. 
In the current cvs, "apache_inc.h" doesn't get included at all with 
-DPERL_THREADS and therefore the build fails. Spotted with 
Apache::Scoreboard.

Please tell me whether this patch breaks anything before I commit it.
It's quite possible that nobody has tried to build 3rd party modules 
that use Apache C API with threaded perl, unless I miss something.

Index: src/modules/perl/mod_perl.h
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
retrieving revision 1.116
diff -u -r1.116 mod_perl.h
--- src/modules/perl/mod_perl.h 23 May 2002 04:35:16 -0000      1.116
+++ src/modules/perl/mod_perl.h 27 Dec 2002 02:12:48 -0000
@@ -72,11 +72,8 @@
  #endif

  #ifdef PERL_THREADS
-#define _INCLUDE_APACHE_FIRST
-#endif
-
-#ifdef _INCLUDE_APACHE_FIRST
  #include "apache_inc.h"
+#define _INCLUDE_APACHE_FIRST
  #endif

  #include "EXTERN.h"


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [patch] modperl/src/modules/perl/mod_perl.h

Posted by Stas Bekman <st...@stason.org>.
Geoffrey Young wrote:
> 
> 
> Stas Bekman wrote:
> 
>> Unless I'm blind again, I can't see how 3rd party modules that use 
>> Apache C API can build when a threaded perl is used with mod_perl 1.0. 
>> In the current cvs, "apache_inc.h" doesn't get included at all with 
>> -DPERL_THREADS and therefore the build fails. Spotted with 
>> Apache::Scoreboard.
>>
>> Please tell me whether this patch breaks anything before I commit it.
>> It's quite possible that nobody has tried to build 3rd party modules 
>> that use Apache C API with threaded perl, unless I miss something.
> 
> 
> I don't really understand what you mean here, but Apache::AuthDigest 
> uses ap_note_digest_auth_failure and I am able to use it with the below 
> perl -V.
> I have another module that uses ap_pfdopen and saw no problems with 
> -Dusethreads the last time I tried it.

Can you build Apache::Scoreboard with this perl? I get gazillions of
errors from mod_perl.h:261 and further down as gcc doesn't know about
these datastructures (cmd_parms, etc.).




-- 


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [patch] modperl/src/modules/perl/mod_perl.h

Posted by Geoffrey Young <ge...@modperlcookbook.org>.

Stas Bekman wrote:
> Unless I'm blind again, I can't see how 3rd party modules that use 
> Apache C API can build when a threaded perl is used with mod_perl 1.0. 
> In the current cvs, "apache_inc.h" doesn't get included at all with 
> -DPERL_THREADS and therefore the build fails. Spotted with 
> Apache::Scoreboard.
> 
> Please tell me whether this patch breaks anything before I commit it.
> It's quite possible that nobody has tried to build 3rd party modules 
> that use Apache C API with threaded perl, unless I miss something.

I don't really understand what you mean here, but Apache::AuthDigest uses 
ap_note_digest_auth_failure and I am able to use it with the below perl -V.
I have another module that uses ap_pfdopen and saw no problems with 
-Dusethreads the last time I tried it.

HTH

--Geoff

http://www.modperlcookbook.org/~geoff/modules/Apache-AuthDigest-0.022.tar.gz

Summary of my perl5 (revision 5.0 version 9 subversion 0 patch 18354) 
configuration:
   Platform:
     osname=linux, osvers=2.2.14-5.0, archname=i686-linux-thread-multi
     uname='linux mainsheet.laserlink.com 2.2.14-5.0 #1 tue mar 7 21:07:39 
est 2000 i686 unknown '
     config_args='-des -Dusethreads -Dprefix=/src/bleedperl -Doptimize=-g 
-Dusedevel -Dinstallusrbinperl -Uversiononly -DDEBUGGING'
     hint=recommended, useposix=true, d_sigaction=define
     usethreads=define useithreads=define usemultiplicity=define
     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
     use64bitint=undef use64bitall=undef uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
     optimize='-g',
     cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING 
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
     ccversion='', gccversion='egcs-2.91.66 19990314/Linux (egcs-1.1.2 
release)', gccosandvers=''
     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
     alignbytes=4, prototype=define
   Linker and Libraries:
     ld='cc', ldflags =' -L/usr/local/lib'
     libpth=/usr/local/lib /lib /usr/lib
     libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lposix -lcrypt 
-lutil -lrt
     perllibs=-lnsl -ldl -lm -lpthread -lc -lposix -lcrypt -lutil -lrt
     libc=/lib/libc-2.1.3.so, so=so, useshrplib=false, libperl=libperl.a
     gnulibc_version='2.1.3'
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
     cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
   Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES 
PERL_IMPLICIT_CONTEXT
   Locally applied patches:
         DEVEL17881
   Built under linux
   Compiled at Dec 26 2002 22:05:09
   @INC:
     /src/bleedperl/lib/5.9.0/i686-linux-thread-multi
     /src/bleedperl/lib/5.9.0
     /src/bleedperl/lib/site_perl/5.9.0/i686-linux-thread-multi
     /src/bleedperl/lib/site_perl/5.9.0
     /src/bleedperl/lib/site_perl/5.8.0/i686-linux-thread-multi
     /src/bleedperl/lib/site_perl/5.8.0
     /src/bleedperl/lib/site_perl
     .




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org