Changes between Version 47 and Version 48 of ModParrotArchitecture

Show
Ignore:
Timestamp:
12/11/08 22:26:44 (6 years ago)
Author:
jhorwitz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ModParrotArchitecture

    v47 v48  
    281281{{{ 
    282282struct modparrot_cleanup_info { 
    283     int module_index;    /* the HLL module that registered us */ 
     283    module *module;      /* the HLL module that registered us */ 
    284284    Parrot_PMC callback; /* callback subroutine */ 
    285285    Parrot_PMC hll_data; /* a PMC to pass to the callback */ 
     
    290290}}} 
    291291 
    292 {{{module_index}}} lets us know which module registered us.  {{{callback}}} is the Sub PMC that should be invoked, and {{{hll_data}}} is a PMC that should be passed to the callback.  {{{modparrot_meta_request_cleanup}}} is a generic callback function that uses this data to set the module index and call the subroutine. 
     292We use the actual Apache {{{module}}} struct instead of the usual {{{module_index}}} idiom here, as cleanups are not real Apache hooks and therefore don't have a module array to index in the configuration.  More importantly, the timing of cleanup registration and execution is indeterminate, since cleanups can be registered during the request, and pools can be destroyed at various points during a connection. 
     293 
     294{{{modparrot_meta_request_cleanup}}} is a generic callback function that uses this data to set the module index and call the subroutine. 
    293295 
    294296== Multiprocessing Module Support ==