On Tue, Apr 6, 2010 at 11:35 AM, Philip M. Gollucci
<pgollu...@p6m7g8.com> 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: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org

Reply via email to