Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-995

mod_axis2 fails to call svc_skeleton_free

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2.0
    • 1.7.0
    • core/transport
    • None
    • solaris 10 x86, apache 2.2.4

    Description

      mod_axis2 calls AXIS2_SVC_SKELETON_INIT but never calls AXIS2_SVC_SKELETON_FREE (or the equivalent), which leaves resources allocated at init time dangling. The axis2_hhtp_server does properly call free, allowing the service to properly clean up after itself.

      This issue was submitted to the axis2-c users list, and Dumindu Pallewela replied with the following patch.

      Index: mod_axis2.c
      ===================================================================
      — mod_axis2.c (revision 629362)
      +++ mod_axis2.c (working copy)
      @@ -425,6 +425,19 @@
      #endif
      }

      +typedef struct worker_cleanup_data
      +

      { + const axutil_env_t * env; + axis2_apache2_worker_t * worker; +}

      worker_cleanup_data_t;
      +
      +static apr_status_t worker_cleanup(void *data)
      +

      { + worker_cleanup_data_t *d = (worker_cleanup_data_t *) data; + axis2_apache2_worker_free(d->worker, d->env); + return APR_SUCCESS; +}

      +
      static int axis2_post_config(apr_pool_t *pconf, apr_pool_t *plog,
      apr_pool_t *ptemp, server_rec *svr_rec)

      { @@ -592,6 +605,14 @@ "[Axis2] Error creating mod_axis2 apache2 worker"); exit(APEXIT_CHILDFATAL); }

      + else
      +

      { + worker_cleanup_data_t *data = apr_palloc(pconf, sizeof(worker_cleanup_data_t)); + data->env = axutil_env; + data->worker = axis2_worker; + apr_pool_cleanup_register(pconf, data, worker_cleanup, apr_pool_cleanup_null); + }

      +
      return OK;
      }

      Attachments

        1. mod_axis2_shut_down.patch
          1 kB
          Supun Kamburugamuva

        Activity

          People

            shankar Selvaratnam Uthaiyashankar
            bwyckoff Ben Wyckoff
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: