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. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95077 13f79535-47bb-0310-9956-ffa450edef68
parent
76f892ff
Please register or sign in to comment