When a socket callback has a timeout, an associated timer event is used to
remove the sockets from the pollset and call a timeout function.
* This includes a noteworthy change to the main event loop. Previously,
we would call epoll, then process the timer events, then iterate through the
poll results. After this patch, the timer events are processed before the poll()
a _non-queued_ action can change the pollset conents (a users timed callback
function conversely could easily sit in a queue while the main thread continues
down into epoll)
* timer events can now have sockets associated with them, those sockets are
removed from the pollset when the timer event fires w/o a queue to the worker.
* timer events now have a canceled flag that can be toggled without locking
the timer list.
* Drop the severity of some wstunnel messages from DEBUG to TRACE1
* Lift the restriction on using asynchronous websockets connections but having
an idle timeout
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1593857 13f79535-47bb-0310-9956-ffa450edef68
use a subpool of pchild since skiplist allocations will
happen across threads and are only protected from
other skiplist operations.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1588806 13f79535-47bb-0310-9956-ffa450edef68
when the thread/connection relationship changes. (Currently implemented
only for the Event MPM; should be implemented for all async MPMs.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1546759 13f79535-47bb-0310-9956-ffa450edef68
Use SYNCHRONIZE instead of PROCESS_ALL_ACCESS because
a. it is sufficient
b. it avoids an issue where PROCESS_ALL_ACCESS is larger on
newer SDKs, resulting in a run-time error when running on
older Windows
Close the handle.
Submitted by: Ivan Zhakov <ivan visualsvn.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1527220 13f79535-47bb-0310-9956-ffa450edef68
Submitted by: Oracle, via trawick
The original modification was made some years ago for Oracle HTTP Server
by an Oracle employee. trawick made additional changes for style and
for trunk/2.4.x changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1526666 13f79535-47bb-0310-9956-ffa450edef68
exiting gracefully.
Submitted by: Oracle, via trawick
This modification was made some years ago for Oracle HTTP Server
by an Oracle employee.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1526220 13f79535-47bb-0310-9956-ffa450edef68
context->accept_socket. This FD will be closed a second time, often
shortly after a worker picks it up in this same FD being reused. The
first recv fails with WSAENOTSOCK since the same FD was closed in the
listener thread while the worker was pulling it off the queue
(The second close is of the underlying FD/socket, not a shared
apr_socket_t, so it's not short-circuited)
This patch makes it a bit more 2.2.x-ish and solves my problem -- the
context->accept_socket gets zapped at the bottom of the loop if
!disconnected.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1523387 13f79535-47bb-0310-9956-ffa450edef68
directive on Windows => crash-o-matic
Or,
WinNT MPM: Don't crash during child process initialization if the
Listen protocol is unrecognized.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1520368 13f79535-47bb-0310-9956-ffa450edef68
full advantage of the event MPM. Enable the ability for a module
to reverse the sense of a poll event from a read to a write or vice
versa.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1470683 13f79535-47bb-0310-9956-ffa450edef68
full advantage of the event MPM. Enable the ability for a module
to reverse the sense of a poll event from a read to a write or vice
versa.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1470679 13f79535-47bb-0310-9956-ffa450edef68
PR : 54311
Submitted by: Tianyin Xu <tixu cs ucsd edu>
Only event.c has been compiled on my system. The 2 others are just cut and paste.
I have left the same value for APLOGNO in event and eventopt has for the other logged messages. I don't know if it is the right way to do.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1433682 13f79535-47bb-0310-9956-ffa450edef68