You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2005/08/22 12:28:26 UTC

cvs commit: ws-axis/c/src/server/apache2 mod_axis2.cpp

samisa      2005/08/22 03:28:26

  Modified:    c/src/engine Axis.cpp
               c/src/server/apache2 mod_axis2.cpp
  Log:
  Fixed the code to call uninitialize_module on the server side.
  
  Fix for AXISCPP-139
  
  Revision  Changes    Path
  1.100     +2 -1      ws-axis/c/src/engine/Axis.cpp
  
  Index: Axis.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/engine/Axis.cpp,v
  retrieving revision 1.99
  retrieving revision 1.100
  diff -u -r1.99 -r1.100
  --- Axis.cpp	22 Aug 2005 06:05:33 -0000	1.99
  +++ Axis.cpp	22 Aug 2005 10:28:25 -0000	1.100
  @@ -464,7 +464,8 @@
               {
                   TypeMapping::uninitialize();
                   URIMapping::uninitialize();
  -                SOAPTransportFactory::uninitialize();
  +                if (!AxisEngine::m_bServer) // we have to deal with transport factory only if it is the client
  +                    SOAPTransportFactory::uninitialize();
                   ModuleUnInitialize();
                   SoapKeywordMapping::uninitialize();
                   XMLParserFactory::uninitialize();
  
  
  
  1.7       +10 -1     ws-axis/c/src/server/apache2/mod_axis2.cpp
  
  Index: mod_axis2.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/apache2/mod_axis2.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mod_axis2.cpp	27 Jul 2005 04:50:37 -0000	1.6
  +++ mod_axis2.cpp	22 Aug 2005 10:28:25 -0000	1.7
  @@ -78,8 +78,17 @@
   
   extern "C"
   { 
  +
  +static apr_status_t module_exit(void *data)
  +{
  +    uninitialize_module();
  +
  +    return APR_SUCCESS;
  +}
  +
   static void module_init(apr_pool_t* p, server_rec* svr_rec)
   {
  +    apr_pool_cleanup_register(p, NULL, module_exit, apr_pool_cleanup_null);
       initialize_module(1);
   }
   
  @@ -91,7 +100,7 @@
   static void mod_axis_register_hooks(apr_pool_t* p)
   {
       ap_hook_child_init(module_init, NULL, NULL, APR_HOOK_REALLY_FIRST);
  -    ap_hook_handler(axis_handler, NULL, NULL, APR_HOOK_LAST);
  +    ap_hook_handler(axis_handler, NULL, NULL, APR_HOOK_LAST);    
   }
   
   module AP_MODULE_DECLARE_DATA axis_module = {