perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: [mp2] t/modperl/util hangs on Linux
Date Wed, 15 Dec 2004 21:03:36 GMT
Markus Wichitill wrote:
> Stas Bekman wrote:
> 
>>> Déjà-vu:
>>>
>>> http://article.gmane.org/gmane.comp.apache.mod-perl.devel/4427
>>
>>
>> But I want to know why does this happen on your build and I can't 
>> reproduce it here. That what bugs me. In case you have some time to 
>> look at it, 
> 
> 
> Well, I haven't written any C/C++ in a while and I've never had to deal 
> with macro hell, but as far as I can see, newSVpvf is defined in Perl's 
> embed.h:
> 
> #define newSVpvf        Perl_newSVpvf
> 
> If I add that line to the top of ModPerl__Util.h manually, it works. If 
> I add
> 
> #ifndef newSVpvf
> #error newSVpvf not defined
> #endif
> 
> to the end of embed.h and compile, it seems that newSVpvf doesn't get 
> defined. But I have no idea how to trace through that horrible, 
> generated #ifdef jungle. To quote embed.h:
> 
> /* (Doing namespace management portably in C is really gross.) */
> 
> /* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms
>  * (like warn instead of Perl_warn) for the API are not defined.
>  * Not defining the short forms is a good thing for cleaner embedding. */

It goes like this:

WrapXS/ModPerl/Util/Util.c

includes:

#include "mod_perl.h"

which includes:

#include "modperl_common_includes.h"

which includes:

#include "modperl_perl_includes.h"

which includes:

#include "perl.h"

which finally includes:

#  include "embed.h"

which defines:

#define newSVpvf                Perl_newSVpvf

but of course this doesn't include possible #ifdef branching. so you want 
to check that.

Also there is:

cd WrapXS/ModPerl/Util
make Util.i

now you will find all the macros expanded in Util.i. I see:

  SV* Perl_newSVpvf( PerlInterpreter *my_perl __attribute__((unused)), 
const char
* pat, ...)

w/o the patch that was applied to fix this for you.

-- 
__________________________________________________________________
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


Mime
View raw message