Under mod_perl2, however, the same request looks like this:

75749 Apache2::RequestRec=SCALAR(0x29f3300) TransHandler start for /workflow/profile/desk/101/101/ 75749 Apache2::RequestRec=SCALAR(0x29f3300) TransHandler finish for /workflow/profile/desk/101/101/ 75749 Apache2::RequestRec=SCALAR(0x29f3300) AccessHandler start for /workflow/profile/desk/101/101/ 75749 Apache2::RequestRec=SCALAR(0x29f3300) AccessHandler finish for /workflow/profile/desk/101/101/
75749 Apache2::RequestRec=SCALAR(0x2a10eb0) TransHandler start for /101/
75749 Apache2::RequestRec=SCALAR(0x2a10eb0) TransHandler finish for /101/
75749 Apache2::RequestRec=SCALAR(0x2a10eb0) CleanupHandler start for /101/
75749 Apache2::RequestRec=SCALAR(0x2a10eb0) CleanupHandler finish for /101/
75749 Apache2::RequestRec=SCALAR(0x734df0) ResponseHandler start for /workflow/profile/desk/101/101/ 75749 Apache2::RequestRec=SCALAR(0x734df0) ResponseHandler finish for /workflow/profile/desk/101/101/


NameVirtualHost *:80
<VirtualHost *:80>
  DocumentRoot           /usr/local/bricolage/comp
  ServerName             localhost
  DefaultType            "text/html; charset=utf-8"
  AddDefaultCharset      utf-8
  SetHandler             perl-script
  PerlResponseHandler    Bric::App::Handler
  PerlAccessHandler      Bric::App::AccessHandler
  PerlCleanupHandler     Bric::App::CleanupHandler
</VirtualHost>

cleanup handlers are just callbacks run when a memory pool goes out of scope. your test suggests that the memory pool allocated for the request is going out of scope before the response handler runs, which is odd indeed :)

I'd try these things:

  o use a PerlLogHandler instead of a PerlCleanupHandler

  o push your cleanup from an earlier phase instead of httpd.conf

o call $r->cleanup_register from an earlier phase instead of pushing a handler

HTH

--Geoff

Reply via email to