summaryrefslogtreecommitdiff
path: root/dso
diff options
context:
space:
mode:
Diffstat (limited to 'dso')
-rw-r--r--dso/os390/dso.c20
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);