[prev in list] [next in list] [prev in thread] [next in thread]
List: apr-cvs
Subject: svn commit: r500321 - in /apr/apr/trunk:
From: gregames () apache ! org
Date: 2007-01-26 20:04:27
Message-ID: 20070126200427.B1F621A981A () eris ! apache ! org
[Download RAW message or body]
Author: gregames
Date: Fri Jan 26 12:04:26 2007
New Revision: 500321
URL: http://svn.apache.org/viewvc?view=rev&rev=500321
Log:
apr_pollset_remove: speed up the httpd Event MPM when lots of connections are
in use
epoll/Linux only for now. ./buildconf on FreeBSD (minotaur) spewed tons of
errors; hints appreciated
Modified:
apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h
apr/apr/trunk/poll/unix/epoll.c
Modified: apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h?view=diff&rev=500321&r1=500320&r2=500321
==============================================================================
--- apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h (original)
+++ apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h Fri Jan 26 12:04:26 2007
@@ -91,8 +91,8 @@
typedef struct pfd_elem_t pfd_elem_t;
struct pfd_elem_t {
- APR_RING_ENTRY(pfd_elem_t) link;
apr_pollfd_t pfd;
+ APR_RING_ENTRY(pfd_elem_t) link;
};
#endif
Modified: apr/apr/trunk/poll/unix/epoll.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/poll/unix/epoll.c?view=diff&rev=500321&r1=500320&r2=500321
==============================================================================
--- apr/apr/trunk/poll/unix/epoll.c (original)
+++ apr/apr/trunk/poll/unix/epoll.c Fri Jan 26 12:04:26 2007
@@ -219,18 +219,10 @@
pollset_lock_rings();
if (!APR_RING_EMPTY(&(pollset->query_ring), pfd_elem_t, link)) {
- for (ep = APR_RING_FIRST(&(pollset->query_ring));
- ep != APR_RING_SENTINEL(&(pollset->query_ring),
- pfd_elem_t, link);
- ep = APR_RING_NEXT(ep, link)) {
+ ep = (pfd_elem_t *) descriptor;
- if (descriptor->desc.s == ep->pfd.desc.s) {
- APR_RING_REMOVE(ep, link);
- APR_RING_INSERT_TAIL(&(pollset->dead_ring),
- ep, pfd_elem_t, link);
- break;
- }
- }
+ APR_RING_REMOVE(ep, link);
+ APR_RING_INSERT_TAIL(&(pollset->dead_ring), ep, pfd_elem_t, link);
}
pollset_unlock_rings();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic