summaryrefslogtreecommitdiff
path: root/dso
diff options
context:
space:
mode:
authortrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2001-04-27 19:00:46 +0000
committertrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2001-04-27 19:00:46 +0000
commit97c7150f23bf9cd7b23f22a5632acdc37cc0e84a (patch)
tree55348a172f68a1874003f7869b9e95c98a59f016 /dso
parentdcd2359ac16b179adc5cbbbb5bb7ced20a1397e3 (diff)
downloadlibapr-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.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);