bnicholes 01/08/27 17:16:08 Modified: dso/unix dso.c Log: Basically added a call to apr_dso_load() to make sure that any module that is loaded by APR will be autounloaded by the OS when all references to the module are released Revision Changes Path 1.42 +21 -0 apr/dso/unix/dso.c Index: dso.c =================================================================== RCS file: /home/cvs/apr/dso/unix/dso.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- dso.c 2001/07/02 20:17:11 1.41 +++ dso.c 2001/08/28 00:16:08 1.42 @@ -72,6 +72,13 @@ #include /* for strerror() on HP-UX */ #endif +#ifdef NETWARE +#include +#include + +static int setautounloadflag (const char *path); +#endif + 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) @@ -163,6 +170,10 @@ apr_pool_cleanup_register(pool, *res_handle, dso_cleanup, apr_pool_cleanup_null); +#ifdef NETWARE + setautounloadflag(path); +#endif + return APR_SUCCESS; } @@ -243,5 +254,15 @@ } return "No Error"; } + +#ifdef NETWARE +static int setautounloadflag (const char *path) +{ + char name[256]; + + deconstruct(path, NULL, NULL, NULL, name, NULL, NULL, PATH_UNDEF); + SetAutoUnloadFlag(findnlmhandle(name, getaddressspace())); +} +#endif #endif