diff options
author | Stefan Fritsch <sf@sfritsch.de> | 2012-01-29 13:30:57 +0100 |
---|---|---|
committer | Stefan Fritsch <sf@sfritsch.de> | 2012-01-29 13:30:57 +0100 |
commit | d1d018768afd79cb2ecd1805f0d8f3ed23f4076b (patch) | |
tree | 04d53b0a9786234f3bbd3badffdb22dbe2b74d03 /srclib/apr-util/misc/apu_dso.c | |
parent | 0890390c00801651d08d3794e13b31a5dabbf5ef (diff) | |
download | apache2-upstream/2.2.22.tar.gz |
Upstream tarball 2.2.22upstream/2.2.22
Diffstat (limited to 'srclib/apr-util/misc/apu_dso.c')
-rw-r--r-- | srclib/apr-util/misc/apu_dso.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/srclib/apr-util/misc/apu_dso.c b/srclib/apr-util/misc/apu_dso.c index 3ad72b56..639875dc 100644 --- a/srclib/apr-util/misc/apu_dso.c +++ b/srclib/apr-util/misc/apu_dso.c @@ -89,7 +89,7 @@ apr_status_t apu_dso_init(apr_pool_t *pool) /* Top level pool scope, need process-scope lifetime */ for (parent = global = pool; parent; parent = apr_pool_parent_get(global)) - global = parent; + global = parent; dsos = apr_hash_make(global); @@ -106,7 +106,8 @@ apr_status_t apu_dso_init(apr_pool_t *pool) return ret; } -apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, +apr_status_t apu_dso_load(apr_dso_handle_t **dlhandleptr, + apr_dso_handle_sym_t *dsoptr, const char *module, const char *modsym, apr_pool_t *pool) @@ -161,6 +162,9 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, apr_cpystrn(eos, module, sizeof(path) - (eos - path)); rv = apr_dso_load(&dlhandle, path, global); + if (dlhandleptr) { + *dlhandleptr = dlhandle; + } if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */ break; } @@ -177,6 +181,9 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, apr_cpystrn(eos, module, sizeof(path) - (eos - path)); rv = apr_dso_load(&dlhandle, path, global); + if (dlhandleptr) { + *dlhandleptr = dlhandle; + } if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */ break; } |