- Apr 29, 2002
-
-
Brian Pane authored
(and optimizations) as ap_getword() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94854 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94853 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94852 13f79535-47bb-0310-9956-ffa450edef68
-
Bill Stoddard authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94851 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
If the worker thread synchronization is working properly, it's not necessary to set these fields to NULL after removing an element from the queue, and it's IMO more important to have a shorter code path leading up to the mutex_unlock. I left in support for NULLing the fields when debugging, though. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94850 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
configuration, rearrange the code to keep it from allocating a few pages worth of local variables on the stack on requests that don't use imagemaps git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94849 13f79535-47bb-0310-9956-ffa450edef68
-
- Apr 28, 2002
-
-
Aaron Bannert authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94848 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94847 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
Also, broadcast a signal after we set the terminate flag on the worker stack. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94846 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
logic from the file descriptor queue, now that we can rely on the idle worker reference count to keep the listener from trying to push connections into a full queue Reviewed by: Aaron Bannert (concept) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94845 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94844 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
- Add a "state" variable to the worker_wakeup_info struct. This is used to make sure that we act on the correct signal, and to know when to shut down a worker thread. - Fix the call when the worker thread waits for a connection to use the new state variable and use mutexes around the cond_wait() call. - Change the interrupt_all() call to set the WORKER_TERMINATED state. - Add two AP_DEBUG_ASSERT() to make sure that we aren't waking up a worker thread before it is idle. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94843 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
the signal inside of a mutex. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94842 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
- We don't need the listener_blocked flag, just check if the element we're adding makes the stack non-empty. - When we are terminated, return APR_EOF; catch this event in the worker thread and the listener thread. - When shutting down, always signal a potential listener thread. - Wait to signal the listener thread until after we add the worker element to the stack. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94841 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
ap_queue_info_set_idle() more than once at a time per worker thread. This fixes an assert coredump. Submitted by: Aaron Bannert Reviewed by: Brian Pane git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94840 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
is associated with that condition variable. This isn't necessary for Solaris, but for Posix it is. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94839 13f79535-47bb-0310-9956-ffa450edef68
-
Bill Stoddard authored
Prep for taking mpm_winnt to multi-process... git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94838 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
Submitted by: Thom May <thom@planetarytramp.net> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94837 13f79535-47bb-0310-9956-ffa450edef68
-
Joshua Slive authored
Submitted by: Phil Forrest <forrest@physics.auburn.edu> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94834 13f79535-47bb-0310-9956-ffa450edef68
-
Roy T. Fielding authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94833 13f79535-47bb-0310-9956-ffa450edef68
-
Justin Erenkrantz authored
fast_redirect, the filter would still point at the subreq - rather than the original r. So, we must update any filters pointing at rr to be r. This would cause lots of problems with mod_include with mod_dir requests such as seen in PR 7966. mod_include would be unsetting the headers_out of rr instead of r. But, we disassociate rr->headers_out and r->headers_out. Therefore, the C-L header in r->headers_out would remain - even though it bears no relation to what we will be outputting - causing problems. This also now permits chunked-encoding of mod_dir/mod_include requests which could never happen before and fixes the content-length problem seen in PR 7966. As hinted at in PR 7966, there is a race condition - if for some reason the server stalls reading an included file (or even better, placing a sleep in the cgi-bin script!), the invalid C-L may get propogated to the client. (Note that internal_internal_redirect has this same code fragment.) PR: 7966 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94832 13f79535-47bb-0310-9956-ffa450edef68
-
Justin Erenkrantz authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94831 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
The advantage of doing this is that it enables us to guarantee that the number of ptrans pools in existence at once is no greater than the number of worker threads, and that we'll never have to delete ptrans pools. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94830 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
for the error-case return (thanks to Justin for suggesting the latter) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94829 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
the mutex-protected critical path of ap_queue_pop() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94828 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
error instead. Obtained from: Justin Erenkrantz Submitted by: Aaron Bannert git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94827 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94826 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
there is an available worker thread. This prevents queued connections from starving for processing time while long-running connections were hogging all the available threads. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94825 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
the listener thread from accept()ing more connections than there are available workers. This prevents long-running requests from starving connections that have been accepted but not yet processed. The queue_info is a simple counter, mutex, and condition variable. Only the listener thread blocks on the condition, and only when there are no idle workers. In the fast path there is a mutex lock, integer decrement, and and unlock (among a few conditionals). The worker threads each notify the queue_info when they are about to block on the normal worker_queue waiting for some connection to process, which wakes up any sleeping listener thread to go perform another accept() in parallel. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94824 13f79535-47bb-0310-9956-ffa450edef68
-
Brian Pane authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94823 13f79535-47bb-0310-9956-ffa450edef68
-
- Apr 27, 2002
-
-
Bill Stoddard authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94822 13f79535-47bb-0310-9956-ffa450edef68
-
- Apr 26, 2002
-
-
Brian Pane authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94821 13f79535-47bb-0310-9956-ffa450edef68
-
William A. Rowe Jr authored
After review and testing against all of the PSDK examples (see http://www.apache.org/~wrowe/ for commentary on building the examples and making them work) ... this disable-optimization should no longer be required. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94820 13f79535-47bb-0310-9956-ffa450edef68
-
Bradley Nicholes authored
dereference it in the for(...) loop. Attempting to dereference a NULL pointer was causing a fault if there were no aliases found. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94819 13f79535-47bb-0310-9956-ffa450edef68
-
Graham Leggett authored
implementation in APR. PR: Obtained from: Submitted by: Eduardo Garcia Lopez <egarcia@stream18.com> Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94818 13f79535-47bb-0310-9956-ffa450edef68
-
Jeff Trawick authored
we need to copy libtool and instdso.sh verbatim, and we need to edit config_vars.mk and apxs still broken: "httpd -l" as invoked by apxs can fail since support libraries (apr, aprutil, etc.) are probably not findable git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94817 13f79535-47bb-0310-9956-ffa450edef68
-
Justin Erenkrantz authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94816 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94815 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94814 13f79535-47bb-0310-9956-ffa450edef68
-
Aaron Bannert authored
elements in the queue represent accept()ed connections, we want them to be processed in the order that they were received. (I erroneously converted it to a LIFO quite awhile ago in the hopes that it would improve cache efficiency.) Remember to perform a make clean in the worker directory after this patch, since this patch changes the size of the fd_queue_t object (which is allocated in worker.c). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94813 13f79535-47bb-0310-9956-ffa450edef68
-