various operational problems in a threaded MPM, since on the
second attempt to close the socket, the same descriptor was
often already in use by another thread for another purpose.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100320
13f79535-47bb-0310-9956-
ffa450edef68
[Remove entries to the current 2.0 section below, when backported]
+ *) mod_cgid: Eliminate a double-close of a socket. This resolves
+ various operational problems in a threaded MPM, since on the
+ second attempt to close the socket, the same descriptor was
+ often already in use by another thread for another purpose.
+ [Jeff Trawick]
+
*) Unix: Handle permissions settings for flock-based mutexes in
unixd_set_global|proc_mutex_perms(). Allow the functions to be
called for any type of mutex. PR 20312 [Jeff Trawick]
return APR_EGENERAL;
}
+ /* we got a socket, and there is already a cleanup registered for it */
+
req.req_type = GETPID_REQ;
req.conn_id = info->r->connection->id;
stat = sock_write(sd, &req, sizeof(req));
if (stat != APR_SUCCESS) {
- close(sd);
return stat;
}
/* wait for pid of script */
stat = sock_read(sd, &pid, sizeof(pid));
if (stat != APR_SUCCESS) {
- close(sd);
return stat;
}
- close(sd);
if (pid == 0) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, info->r,