diff options
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); |