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 t...
Please register or sign in to comment