87243d0fc4c9b64fc12ae7ec53ebb19a9c804ecd 95077 |
|
14-May-2002 |
wrowe |
Now for the major refactoring. Introduce mod_isapi.h, as we have had
untold problems with compatibility between different Visual Studio and
PlatformSDK users [based on their generation of the MS ISAPI header.]
This header is coded from scratch in native APR types.
Replace the apr_array_t with an apr_hash_t, mutex protected, to allow us
to preload and late-load isapi modules. This closes a significant bug
with trafficed sites using uncached isapi modules, where one would be
closing the module just as another request is opening it [as if for the
first time.] This would cause some ISAPI modules to crash. Now that
we load modules for the lifetime of the server, a simple graceful restart
is all that's required to unload all the non-precached modules.
Crack out all FAKE_ASYNC code while we complete it. Total support for
the Completion Context callback and end-of-request termination is required
before we can toggle this on.
My next commit; complete fake async support. But this was all I'd had
in me for one night. |