On Mon, 16 Apr 2001 [EMAIL PROTECTED] wrote:
> My biggest problem with passing in a void *, and using it as the dlhandle
> to close, is that it won't work in error cases on some platforms. OS/2
> requires that we save the error message when the error happens, at least
> that is my understanding. This means that if there is an error, we will
> need to store that string someplace.
wait a sec, this is true for the load, but not unload, os2/dso.c:
static apr_status_t dso_cleanup(void *thedso)
{
apr_dso_handle_t *dso = thedso;
int rc;
if (dso->handle == 0)
return APR_SUCCESS;
rc = DosFreeModule(dso->handle);
if (rc == 0)
dso->handle = 0;
return APR_OS2_STATUS(rc);
}
i still very much want to avoid using a pool to close these handles.