[svn:mod_parrot] r585 - in mod_parrot/trunk: . build/lib/Generator lib lib/ModParrot/APR lib/ModParrot/Apache

[email protected] Tue, 6 Jan 2009 14:43:59 -0800 (PST)
Newsgroups perl.cvs.mod_parrot
Message-ID <[email protected]>
Author: jhorwitz
Date: Tue Jan  6 14:43:59 2009
New Revision: 585

Modified:
   mod_parrot/trunk/README
   mod_parrot/trunk/build/lib/Generator/ApacheRequestRec.pm
   mod_parrot/trunk/build/lib/Generator/ApacheServerRec.pm
   mod_parrot/trunk/lib/ModParrot/APR/Pool.pir
   mod_parrot/trunk/lib/ModParrot/APR/Table.pir
   mod_parrot/trunk/lib/ModParrot/Apache/Module.pir
   mod_parrot/trunk/lib/ModParrot/Apache/RequestRec.pir
   mod_parrot/trunk/lib/mod_parrot.pir

Log:
use loadlib to load the running process image.  this should help mod_parrot
work on solaris.  requires parrot >= r35084.


Modified: mod_parrot/trunk/README
==============================================================================
--- mod_parrot/trunk/README	(original)
+++ mod_parrot/trunk/README	Tue Jan  6 14:43:59 2009
@@ -16,7 +16,7 @@
 REQUIREMENTS
 ------------
 * Apache 2.0.x or 2.2.x (2.4 may work but is untested)
-* A recent subversion checkout of Parrot (all tests pass as of r34644)
+* A recent subversion checkout of Parrot (r35084 or later)
 * Perl 5.8.0 or later for configuration
 * Apache::Test 1.26 or later (for tests)
 
@@ -27,7 +27,7 @@
 1) perl Configure.pl --parrot-build-dir=/path/to/parrot --apxs=/path/to/apxs
 2) make
 3) make test
-4) make install
+4) make install (as root, if appropriate)
 
 CONFIGURING APACHE
 ------------------

Modified: mod_parrot/trunk/build/lib/Generator/ApacheRequestRec.pm
==============================================================================
--- mod_parrot/trunk/build/lib/Generator/ApacheRequestRec.pm	(original)
+++ mod_parrot/trunk/build/lib/Generator/ApacheRequestRec.pm	Tue Jan  6 14:43:59 2009
@@ -69,7 +69,7 @@
 sub get_dlfunc_template
 {
     my $template = <<'END'
-dlfunc func, nul, "mpnci_request_rec_%%NAME%%", "%%SIG%%"
+dlfunc func, lib, "mpnci_request_rec_%%NAME%%", "%%SIG%%"
 set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_%%NAME%%", func
 
 END

Modified: mod_parrot/trunk/build/lib/Generator/ApacheServerRec.pm
==============================================================================
--- mod_parrot/trunk/build/lib/Generator/ApacheServerRec.pm	(original)
+++ mod_parrot/trunk/build/lib/Generator/ApacheServerRec.pm	Tue Jan  6 14:43:59 2009
@@ -71,7 +71,7 @@
 sub get_dlfunc_template
 {
     my $template = <<'END'
-dlfunc func, nul, "mpnci_server_rec_%%NAME%%", "%%SIG%%"
+dlfunc func, lib, "mpnci_server_rec_%%NAME%%", "%%SIG%%"
 set_root_global [ 'ModParrot'; 'NCI' ], "server_rec_%%NAME%%", func
 
 END

Modified: mod_parrot/trunk/lib/ModParrot/APR/Pool.pir
==============================================================================
--- mod_parrot/trunk/lib/ModParrot/APR/Pool.pir	(original)
+++ mod_parrot/trunk/lib/ModParrot/APR/Pool.pir	Tue Jan  6 14:43:59 2009
@@ -39,9 +39,10 @@
 .sub _initialize :load
     .local pmc pool_class
     .local pmc func
-    .local pmc nul
+    .local pmc lib
 
-    null nul
+    null $S0
+    loadlib lib, $S0
 
     newclass pool_class, [ 'ModParrot'; 'APR'; 'Pool' ]
     addattribute pool_class, 'apr_pool'
@@ -50,19 +51,19 @@
     # see the "parent_get" method to query APR for the parent
     addattribute pool_class, 'parent'
 
-    dlfunc func, nul, "apr_pool_create_ex", "iVppp"
+    dlfunc func, lib, "apr_pool_create_ex", "iVppp"
     set_root_global [ 'APR'; 'NCI' ], "apr_pool_create_ex", func
 
-    dlfunc func, nul, "apr_pool_clear", "vp"
+    dlfunc func, lib, "apr_pool_clear", "vp"
     set_root_global [ 'APR'; 'NCI' ], "apr_pool_clear", func
 
-    dlfunc func, nul, "apr_pool_destroy", "vp"
+    dlfunc func, lib, "apr_pool_destroy", "vp"
     set_root_global [ 'APR'; 'NCI' ], "apr_pool_destroy", func
 
-    dlfunc func, nul, "apr_pool_parent_get", "pp"
+    dlfunc func, lib, "apr_pool_parent_get", "pp"
     set_root_global [ 'APR'; 'NCI' ], "apr_pool_parent_get", func
 
-    dlfunc func, nul, "apr_pool_tag", "vpt"
+    dlfunc func, lib, "apr_pool_tag", "vpt"
     set_root_global [ 'APR'; 'NCI' ], "apr_pool_tag", func
 .end
 

Modified: mod_parrot/trunk/lib/ModParrot/APR/Table.pir
==============================================================================
--- mod_parrot/trunk/lib/ModParrot/APR/Table.pir	(original)
+++ mod_parrot/trunk/lib/ModParrot/APR/Table.pir	Tue Jan  6 14:43:59 2009
@@ -41,17 +41,18 @@
 .sub _initialize :load
     .local pmc table_class
     .local pmc func
-    .local pmc nul
+    .local pmc lib
 
-    null nul
+    null $S0
+    loadlib lib, $S0
 
     newclass table_class, [ 'ModParrot'; 'APR'; 'Table' ]
     addattribute table_class, 'apr_table'
 
-    dlfunc func, nul, "apr_table_get", "tpt"
+    dlfunc func, lib, "apr_table_get", "tpt"
     set_root_global [ 'APR'; 'NCI' ], "apr_table_get", func
 
-    dlfunc func, nul, "apr_table_set", "vptt"
+    dlfunc func, lib, "apr_table_set", "vptt"
     set_root_global [ 'APR'; 'NCI' ], "apr_table_set", func
 .end
 

Modified: mod_parrot/trunk/lib/ModParrot/Apache/Module.pir
==============================================================================
--- mod_parrot/trunk/lib/ModParrot/Apache/Module.pir	(original)
+++ mod_parrot/trunk/lib/ModParrot/Apache/Module.pir	Tue Jan  6 14:43:59 2009
@@ -29,14 +29,15 @@
 .sub _initialize :load
     .local pmc module_class
     .local pmc func
-    .local pmc nul
+    .local pmc lib
 
-    null nul
+    null $S0
+    loadlib lib, $S0
 
-    dlfunc func, nul, "mpnci_add_apache_module", "pJttPP"
+    dlfunc func, lib, "mpnci_add_apache_module", "pJttPP"
     set_root_global [ 'ModParrot'; 'NCI' ], "add_apache_module", func
 
-    dlfunc func, nul, "mpnci_get_module_config", "PJtpi"
+    dlfunc func, lib, "mpnci_get_module_config", "PJtpi"
     set_root_global [ 'ModParrot'; 'NCI' ], "get_module_config", func
 
     # XXX do we even use this?

Modified: mod_parrot/trunk/lib/ModParrot/Apache/RequestRec.pir
==============================================================================
--- mod_parrot/trunk/lib/ModParrot/Apache/RequestRec.pir	(original)
+++ mod_parrot/trunk/lib/ModParrot/Apache/RequestRec.pir	Tue Jan  6 14:43:59 2009
@@ -44,36 +44,37 @@
 .sub _initialize :load
     .local pmc rr_class
     .local pmc func
-    .local pmc nul
+    .local pmc lib
 
     load_bytecode "ModParrot/Apache/ServerRec.pbc"
     load_bytecode "ModParrot/APR/Pool.pbc"
 
-    null nul
+    null $S0
+    loadlib lib, $S0
 
     newclass rr_class, [ 'ModParrot'; 'Apache'; 'RequestRec' ]
     addattribute rr_class, 'r'
     addattribute rr_class, 'pmc_notes'
 
-    dlfunc func, nul, "ap_rputs", "itp"
+    dlfunc func, lib, "ap_rputs", "itp"
     set_root_global [ 'Apache'; 'NCI' ], "ap_rputs", func
 
-    dlfunc func, nul, "ap_rputc", "iip"
+    dlfunc func, lib, "ap_rputc", "iip"
     set_root_global [ 'Apache'; 'NCI' ], "ap_rputc", func
 
-    dlfunc func, nul, "ap_is_initial_req", "ip"
+    dlfunc func, lib, "ap_is_initial_req", "ip"
     set_root_global [ 'Apache'; 'NCI' ], "ap_is_initial_req", func
 
-    dlfunc func, nul, "ap_auth_type", "tp"
+    dlfunc func, lib, "ap_auth_type", "tp"
     set_root_global [ 'Apache'; 'NCI' ], "ap_auth_type", func
 
-    dlfunc func, nul, "ap_auth_name", "tp"
+    dlfunc func, lib, "ap_auth_name", "tp"
     set_root_global [ 'Apache'; 'NCI' ], "ap_auth_name", func
 
-    dlfunc func, nul, "ap_note_basic_auth_failure", "vp"
+    dlfunc func, lib, "ap_note_basic_auth_failure", "vp"
     set_root_global [ 'Apache'; 'NCI' ], "ap_note_basic_auth_failure", func
 
-    dlfunc func, nul, "ap_custom_response", "vpit"
+    dlfunc func, lib, "ap_custom_response", "vpit"
     set_root_global [ 'Apache'; 'NCI' ], "ap_custom_response", func
 .end
 

Modified: mod_parrot/trunk/lib/mod_parrot.pir
==============================================================================
--- mod_parrot/trunk/lib/mod_parrot.pir	(original)
+++ mod_parrot/trunk/lib/mod_parrot.pir	Tue Jan  6 14:43:59 2009
@@ -21,9 +21,10 @@
 # use when NCI can dlfunc from the current image
 .sub modparrot_init
     .local pmc func
-    .local pmc nul
+    .local pmc lib
 
-    null nul
+    null $S0
+    loadlib lib, $S0
 
     # loadlib here instead of as a pragma in case we set the dynext path
     loadlib $P0, 'modparrot_group.so'
@@ -31,82 +32,82 @@
     .include "build/src/pir/request_rec_dlfunc.pir"
     .include "build/src/pir/server_rec_dlfunc.pir"
 
-    dlfunc func, nul, "mpnci_null", "p"
+    dlfunc func, lib, "mpnci_null", "p"
     set_root_global [ 'ModParrot'; 'NCI' ], "null", func
 
-    dlfunc func, nul, "mpnci_backtrace", "tJ"
+    dlfunc func, lib, "mpnci_backtrace", "tJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "backtrace", func
 
-    dlfunc func, nul, "mpnci_request_rec", "pJ"
+    dlfunc func, lib, "mpnci_request_rec", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec", func
 
-    dlfunc func, nul, "mpnci_request_rec_main", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_main", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_main", func
 
-    dlfunc func, nul, "mpnci_request_rec_next", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_next", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_next", func
 
-    dlfunc func, nul, "mpnci_request_rec_prev", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_prev", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_prev", func
 
-    dlfunc func, nul, "mpnci_request_rec_user", "tJpti"
+    dlfunc func, lib, "mpnci_request_rec_user", "tJpti"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_user", func
 
-    dlfunc func, nul, "mpnci_request_rec_notes", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_notes", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_notes", func
 
-    dlfunc func, nul, "mpnci_request_rec_get_basic_auth_pw", "iJpP"
+    dlfunc func, lib, "mpnci_request_rec_get_basic_auth_pw", "iJpP"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_get_basic_auth_pw", func
 
-    dlfunc func, nul, "mpnci_request_rec_per_dir_config", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_per_dir_config", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_per_dir_config", func
 
-    dlfunc func, nul, "mpnci_request_rec_headers_in", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_headers_in", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_headers_in", func
 
-    dlfunc func, nul, "mpnci_request_rec_headers_out", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_headers_out", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_headers_out", func
 
-    dlfunc func, nul, "mpnci_request_rec_err_headers_out", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_err_headers_out", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_err_headers_out", func
 
-    dlfunc func, nul, "mpnci_request_rec_pool", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_pool", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_pool", func
 
-    dlfunc func, nul, "mpnci_request_rec_server", "pJp"
+    dlfunc func, lib, "mpnci_request_rec_server", "pJp"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_rec_server", func
 
-    dlfunc func, nul, "mpnci_rwrite", "iJPip"
+    dlfunc func, lib, "mpnci_rwrite", "iJPip"
     set_root_global [ 'ModParrot'; 'NCI' ], "rwrite", func
 
-    dlfunc func, nul, "mpnci_ap_log_rerror", "vJtiiipt"
+    dlfunc func, lib, "mpnci_ap_log_rerror", "vJtiiipt"
     set_root_global [ 'ModParrot'; 'NCI' ], "ap_log_rerror", func
 
-    dlfunc func, nul, "mpnci_conf_pool", "pJ"
+    dlfunc func, lib, "mpnci_conf_pool", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "conf_pool", func
 
-    dlfunc func, nul, "mpnci_temp_pool", "pJ"
+    dlfunc func, lib, "mpnci_temp_pool", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "temp_pool", func
 
-    dlfunc func, nul, "mpnci_log_pool", "pJ"
+    dlfunc func, lib, "mpnci_log_pool", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "log_pool", func
 
-    dlfunc func, nul, "mpnci_child_pool", "pJ"
+    dlfunc func, lib, "mpnci_child_pool", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "child_pool", func
 
-    dlfunc func, nul, "mpnci_server_rec", "pJ"
+    dlfunc func, lib, "mpnci_server_rec", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "server_rec", func
 
-    dlfunc func, nul, "mpnci_conn_rec", "pJ"
+    dlfunc func, lib, "mpnci_conn_rec", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "conn_rec", func
 
-    dlfunc func, nul, "mpnci_csd", "pJ"
+    dlfunc func, lib, "mpnci_csd", "pJ"
     set_root_global [ 'ModParrot'; 'NCI' ], "csd", func
 
-    dlfunc func, nul, "mpnci_request_read", "iJPip"
+    dlfunc func, lib, "mpnci_request_read", "iJPip"
     set_root_global [ 'ModParrot'; 'NCI' ], "request_read", func
 
-    dlfunc func, nul, "mpnci_register_pool_cleanup", "vJpPP"
+    dlfunc func, lib, "mpnci_register_pool_cleanup", "vJpPP"
     set_root_global [ 'ModParrot'; 'NCI' ], "register_pool_cleanup", func
 
     # load required libraries