summaryrefslogtreecommitdiff
path: root/srclib/apr-util/misc/apu_dso.c
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2012-01-29 13:30:57 +0100
committerStefan Fritsch <sf@sfritsch.de>2012-01-29 13:30:57 +0100
commitd1d018768afd79cb2ecd1805f0d8f3ed23f4076b (patch)
tree04d53b0a9786234f3bbd3badffdb22dbe2b74d03 /srclib/apr-util/misc/apu_dso.c
parent0890390c00801651d08d3794e13b31a5dabbf5ef (diff)
downloadapache2-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.c11
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;
}