diff options
author | minfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-07 19:48:02 +0000 |
---|---|---|
committer | minfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-07 19:48:02 +0000 |
commit | 903373a697b2dc46fb309f6795e03dc248e89321 (patch) | |
tree | b0389c392735093fc8735113612b6fc49a191406 /misc | |
parent | 73d7136795c067af72021e07bdd44e3ca22a98ad (diff) | |
download | libapr-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.c | 8 |
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; } |