+8
−0
+84
−66
Loading
WARNING! GitLab maintenance operation scheduled for this Friday between 14:00 and 19:00 (CET). During this time window, GitLab will be unavailable, and any data entered during this period may be lost. Thank you in advance for your understanding.
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