diff options
author | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2001-04-27 19:00:46 +0000 |
---|---|---|
committer | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2001-04-27 19:00:46 +0000 |
commit | 97c7150f23bf9cd7b23f22a5632acdc37cc0e84a (patch) | |
tree | 55348a172f68a1874003f7869b9e95c98a59f016 /dso | |
parent | dcd2359ac16b179adc5cbbbb5bb7ced20a1397e3 (diff) | |
download | libapr-97c7150f23bf9cd7b23f22a5632acdc37cc0e84a.tar.gz |
implement apr_os_dso_handle_get() and apr_os_dso_handle_put() for
OS/390; also, store the pool pointer in the apr_dso_handle_t in an
existing path
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61558 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'dso')
-rw-r--r-- | dso/os390/dso.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/dso/os390/dso.c b/dso/os390/dso.c index 02a2970bf..feeeaa0d2 100644 --- a/dso/os390/dso.c +++ b/dso/os390/dso.c @@ -52,6 +52,7 @@ * <http://www.apache.org/>. */ +#include "apr_portable.h" #include "apr_strings.h" #include "dso.h" #include <errno.h> @@ -59,6 +60,23 @@ #if APR_HAS_DSO +APR_DECLARE(apr_status_t) apr_os_dso_handle_put(apr_dso_handle_t **aprdso, + apr_os_dso_handle_t osdso, + apr_pool_t *pool) +{ + *aprdso = apr_pcalloc(pool, sizeof **aprdso); + (*aprdso)->handle = osdso; + (*aprdso)->pool = pool; + return APR_SUCCESS; +} + +APR_DECLARE(apr_status_t) apr_os_dso_handle_get(apr_os_dso_handle_t *osdso, + apr_dso_handle_t *aprdso) +{ + *osdso = aprdso->handle; + return APR_SUCCESS; +} + static apr_status_t dso_cleanup(void *thedso) { apr_dso_handle_t *dso = thedso; @@ -84,7 +102,7 @@ APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle, int rc; *res_handle = apr_pcalloc(ctx, sizeof(*res_handle)); - + (*res_handle)->pool = ctx; if ((handle = dllload(path)) != NULL) { (*res_handle)->handle = handle; apr_pool_cleanup_register(ctx, *res_handle, dso_cleanup, apr_pool_cleanup_null); |