On Tue, Apr 6, 2010 at 11:35 AM, Philip M. Gollucci
<[email protected]> wrote:
>> Perhaps, but I'm still understanding the implications of the code
>> changes I'm making. Here's one:
>>
>> Index: src/modules/perl/mod_perl.c
>> ===================================================================
>> --- src/modules/perl/mod_perl.c (revision 930926)
>> +++ src/modules/perl/mod_perl.c (working copy)
>> @@ -53,7 +53,7 @@
>> }
>>
>> #ifndef USE_ITHREADS
>> -static apr_status_t modperl_shutdown(void *data)
>> +static apr_status_t modperl_shutdown(pTHX_ void *data)
>
> Thats definitely a correct change.
Here's the rest of it [1], but I'm highly skeptical on some of these
changes. Is pTHX_ passed as the first argument in all cases, or the
last?
I still get some errors with this [2].
[1]
Index: src/modules/perl/mod_perl.c
===================================================================
--- src/modules/perl/mod_perl.c (revision 930926)
+++ src/modules/perl/mod_perl.c (working copy)
@@ -53,7 +53,7 @@
}
#ifndef USE_ITHREADS
-static apr_status_t modperl_shutdown(void *data)
+static apr_status_t modperl_shutdown(pTHX_ void *data)
{
modperl_cleanup_data_t *cdata = (modperl_cleanup_data_t *)data;
PerlInterpreter *perl = (PerlInterpreter *)cdata->data;
@@ -669,7 +669,7 @@
}
static int modperl_hook_post_config_last(apr_pool_t *pconf, apr_pool_t *plog,
- apr_pool_t *ptemp, server_rec *s)
+ apr_pool_t *ptemp,
server_rec *s,pTHX_ void *data )
{
/* in the threaded environment, no server_rec/process_rec
* modifications should be done beyond this point */
@@ -784,7 +784,7 @@
#endif /* USE_ITHREADS */
-static apr_status_t modperl_child_exit(void *data)
+static apr_status_t modperl_child_exit(pTHX_ void *data)
{
char *level = NULL;
server_rec *s = (server_rec *)data;
@@ -1006,7 +1006,7 @@
return retval;
}
-int modperl_response_handler(request_rec *r)
+int modperl_response_handler(request_rec *r, pTHX_ void *data)
{
MP_dDCFG;
#ifdef USE_ITHREADS
@@ -1053,7 +1053,7 @@
return retval;
}
-int modperl_response_handler_cgi(request_rec *r)
+int modperl_response_handler_cgi(request_rec *r, pTHX_ void *data)
{
MP_dDCFG;
GV *h_stdin, *h_stdout;
[2]
/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/stdbool.h:36:1:
warning: this is the location of the previous definition
mod_perl.c: In function 'modperl_startup':
mod_perl.c:338: warning: passing argument 3 of
'apr_pool_cleanup_register' from incompatible pointer type
mod_perl.c: In function 'modperl_hook_child_init':
mod_perl.c:828: warning: passing argument 3 of
'apr_pool_cleanup_register' from incompatible pointer type
mod_perl.c: In function 'modperl_register_hooks':
mod_perl.c:852: warning: passing argument 1 of 'ap_hook_post_config'
from incompatible pointer type
mod_perl.c: At top level:
mod_perl.c:1010: error: conflicting types for 'modperl_response_handler'
mod_perl.h:138: error: previous declaration of
'modperl_response_handler' was here
mod_perl.c:1057: error: conflicting types for 'modperl_response_handler_cgi'
mod_perl.h:139: error: previous declaration of
'modperl_response_handler_cgi' was here
make[1]: *** [mod_perl.lo] Error 1
make: *** [modperl_lib] Error 2
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]