summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorminfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68>2008-09-07 19:48:02 +0000
committerminfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68>2008-09-07 19:48:02 +0000
commit903373a697b2dc46fb309f6795e03dc248e89321 (patch)
treeb0389c392735093fc8735113612b6fc49a191406 /misc
parent73d7136795c067af72021e07bdd44e3ca22a98ad (diff)
downloadlibapr-util-903373a697b2dc46fb309f6795e03dc248e89321.tar.gz
Expose the apr_dso_handle_t when calling apu_dso_load, so that the
crypto code can call apr_dso_error and find out why the dso load failed. The existing LDAP and DBD code ignores this, as their APIs do not yet allow for errors to be returned. git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/trunk@692924 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'misc')
-rw-r--r--misc/apu_dso.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/misc/apu_dso.c b/misc/apu_dso.c
index 22a9d392..829878a3 100644
--- a/misc/apu_dso.c
+++ b/misc/apu_dso.c
@@ -103,7 +103,7 @@ apr_status_t apu_dso_init(apr_pool_t *pool)
}
#if APR_HAS_DSO
-apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module,
+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)
{
#if !APU_DSO_BUILD
@@ -159,6 +159,9 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module,
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;
}
@@ -175,6 +178,9 @@ apr_status_t apu_dso_load(apr_dso_handle_sym_t *dsoptr, const char *module,
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;
}