PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mpm_event: Fix slots staying in "L" state in the scoreboard
- trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1294349
- 2.4.x patch: trunk patch works (needs CHANGES entry)
- +1: sf, rjung, jim
-
* mpm_event: Don't call ap_start_lingering_close from the listener thread
because it may block
PR: 52229
{
apr_status_t rv;
- cs->c->sbh = NULL; /* prevent scoreboard updates from the listener
- * worker will loop around and set SERVER_READY soon
- */
-
if (ap_start_lingering_close(cs->c)) {
apr_pool_clear(cs->p);
ap_push_pool(worker_queue_info, cs->p);
int rc;
ap_sb_handle_t *sbh;
+ /* XXX: This will cause unbounded mem usage for long lasting connections */
ap_create_sb_handle(&sbh, p, my_child_num, my_thread_num);
if (cs == NULL) { /* This is a new connection */
AP_DEBUG_ASSERT(rc == APR_SUCCESS);
}
}
+ /*
+ * Prevent this connection from writing to our connection state after it
+ * is no longer associated with this thread. This would happen if the EOR
+ * bucket is destroyed from the listener thread due to a connection abort
+ * or timeout.
+ */
+ c->sbh = NULL;
+
return;
}