Skip to content
  1. Jan 16, 2007
    • Chris Darroch's avatar
      We now create memory sub-pools for each DB connection and close DB · 581ee2b7
      Chris Darroch authored
      connections in a pool cleanup function.  This simplifies the ap_dbd_acquire()
      and ap_dbd_cacquire() functions, and also stops us from leaking ap_dbd_t
      structures when using reslists.
      
      We ensure that prepared statements are destroyed before their DB connection
      is closed, in case any drivers would have problems cleaning up prepared
      statements after the DB connection is closed.
      
      The combination of reslists and memory pool cleanup functions was causing
      segfaults when child processes exited, as reported in PR 39985.  To prevent
      this, we register dbd_destroy() as a cleanup that will execute prior to
      the internal cleanup function registered by apr_reslist_create().  When the
      reslist's memory pool is destroyed, dbd_destroy() informs dbd_destruct() not
      to do anything when subsequently called by the reslist's internal cleanup
      function.
      
      We avoid the use of s->process->pool (the global pool) since it isn't
      destroyed by exiting child processes in most multi-process MPMs.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@496831 13f79535-47bb-0310-9956-ffa450edef68
      581ee2b7
  2. Jan 11, 2007
  3. Jan 10, 2007
  4. Jan 06, 2007
  5. Jan 02, 2007
  6. Dec 24, 2006
  7. Dec 20, 2006
  8. Dec 19, 2006
  9. Dec 16, 2006
  10. Dec 13, 2006
  11. Dec 12, 2006
  12. Dec 09, 2006
  13. Dec 08, 2006
  14. Dec 07, 2006
  15. Dec 03, 2006
  16. Dec 02, 2006
  17. Nov 18, 2006
  18. Nov 07, 2006
  19. Nov 01, 2006
  20. Oct 27, 2006
  21. Oct 26, 2006
  22. Oct 25, 2006
  23. Oct 24, 2006
  24. Oct 23, 2006
  25. Oct 22, 2006