summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/epoll
Commit message (Collapse)AuthorAgeFilesLines
* QPID-2214: Opening and closing client connections causes memory use to grow ↵Andrew Stitcher2009-12-071-21/+29
| | | | | | | | unboundedly - Clean up the DeletionManager state for each thread when the thread exits git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@887956 13f79535-47bb-0310-9956-ffa450edef68
* Refactored Socket to allow for IPv6 and unix domain socketAndrew Stitcher2009-10-121-10/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@824237 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that a PollerHandle that has had a disconnected event can neverAndrew Stitcher2009-08-111-1/+4
| | | | | | | be returned with any more events git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802991 13f79535-47bb-0310-9956-ffa450edef68
* Fix for re-entering DispatchHandle::processEvent more than once on disconnectionAndrew Stitcher2009-08-111-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802990 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes to QPID-1879 so that clustering still works:Andrew Stitcher2009-06-011-2/+3
| | | | | | | | | Change client io threading to be initialised at first use Stop linking loadable modules with tests Add some sentinel values so that we can see what happened last git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@780855 13f79535-47bb-0310-9956-ffa450edef68
* Whitespace fixesAndrew Stitcher2009-05-281-74/+74
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@779446 13f79535-47bb-0310-9956-ffa450edef68
* Refactored the DispatchHandle/Poller code to remove a long standingAndrew Stitcher2009-05-041-49/+129
| | | | | | | | | | | | | | set of race conditions. - Changed Poller naming for better clarity with new semantics. - Changed Poller semantics to avoid DispatchHandle keeping so much state - Changed Poller so that it will never re-enable a Handle until Poller::wait is called again on the same thread that returned the Handle. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771338 13f79535-47bb-0310-9956-ffa450edef68
* - Reworked DispatchHandler state machine to eliminate race conditionsAndrew Stitcher2009-03-021-41/+70
| | | | | | | | | | | particularly when deleting a DispatchHandle - Reworked Poller interrupt mechanism eliminating locking problems and to support DispatchHandler changes - Beefed up the DispatchHandler test program so that it's a fair torture test of the DispatchHandler code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@749406 13f79535-47bb-0310-9956-ffa450edef68
* Work on the low level IO code:Andrew Stitcher2009-01-061-26/+162
| | | | | | | | | * Introduce code so that you can interrupt waiting for a handle and receive a callback that is correctly serialised with the IO callbacks for that handle git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732177 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1489: Tidy epoll code to remove a valgrind warning on 32bit Linux:Andrew Stitcher2008-11-261-23/+27
| | | | | | | | - We weren't initialising all 64 bits of a union that was being passed to epoll_ctl on 32 bit Linuxes git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@720978 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1474: Changed lock scope for PollerHandle::~PollerHandleAndrew Stitcher2008-11-191-0/+5
| | | | | | | Also check state better to make sure the impl can't be deleted more than once in a race git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@718966 13f79535-47bb-0310-9956-ffa450edef68
* Refactor sys::AsynchIO class to allow reimplementing on other platforms ↵Stephen D. Huston2008-10-211-3/+3
| | | | | | without affecting upper level usage. Resolves QPID-1377 and supplies Windows AsynchIO.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706709 13f79535-47bb-0310-9956-ffa450edef68
* Refactor of EpollPoller to make PollerHandler lifecycle easierAndrew Stitcher2008-07-281-16/+38
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@680395 13f79535-47bb-0310-9956-ffa450edef68
* Refactored the IO framework that sits on top of Poller so that it uses a ↵Andrew Stitcher2008-04-151-8/+10
| | | | | | | | | | generalised IOHandle. This means that you can define new classes derived from IOHandle (other than Socket) that can also be added to a Poller and waited for. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@648288 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile errors/warnings with gcc 4.3Alan Conway2008-03-251-1/+1
| | | | | | | | | | | | | - added missing #includes that were implicitly included via old headers. - add namespace-qualifiers to fix "changes meaning of name" warnings. - ./qpid/ptr_map.h:51: fixed "qualified return value" warning. - use const char* for "conversion from string constant to ‘char*’" warnings Applied patch from https://issues.apache.org/jira/browse/QPID-869 remove depenency on boost/date_time, causes warnings with gcc 4.3. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640806 13f79535-47bb-0310-9956-ffa450edef68
* Clean shutdown of broker: Moved signal unsafe code from Broker::shutdownAlan Conway2008-02-071-0/+3
| | | | | | | to ~Broker, moved shutdown logging from shutdown handler to main() in qpidd.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@619646 13f79535-47bb-0310-9956-ffa450edef68
* Probable fix for QPID-712:Andrew Stitcher2007-12-201-1/+3
| | | | | | | | | Poller::epollToDirection now treats EPOLLERR as equivalent to EPOLLHUP for purposes of indicating a disconnect from the peer on the write side of the connection git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605982 13f79535-47bb-0310-9956-ffa450edef68
* - Eliminated a race condition on deletion of PollerHandlesAndrew Stitcher2007-11-291-3/+16
| | | | | | | | * Added DeletionManager class to delete handles * Used to stop PollerHandles being deleted whilst still in use git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599390 13f79535-47bb-0310-9956-ffa450edef68
* * Fix crash on shutdown due to underlying poller being shutdown twiceAndrew Stitcher2007-07-311-0/+4
| | | | | | | - Actually just made the poller ignore subsequent shutdown attempts git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@561279 13f79535-47bb-0310-9956-ffa450edef68
* * Asynchronous network IO subsystemAndrew Stitcher2007-07-271-7/+8
| | | | | | | | | | | | | | | | | | - This is now implemented such that it very nearly only depends on the platform code (Socker & Poller), this is not 100% true at present, but should be simple to finish. - This is still not the default (use "./configure --disable-apr-netio" to get it) - Interrupting the broker gives a known error - Default for number of broker io threads is not correct (needs to be number of CPUs - it will run slower with too many io threads) * EventChannel code - Deleted all EventChannel code as it's entirely superceded by this new shiny code ;-) * Rearranged the platform Socket implementations a bit for better abstraction git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560323 13f79535-47bb-0310-9956-ffa450edef68
* * Add libuuid to libcommon link (for when apr goes away)Andrew Stitcher2007-07-121-20/+72
| | | | | | | | * Latest version of AsynchIO code git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@555455 13f79535-47bb-0310-9956-ffa450edef68
* Intermediate checkin with preliminary work on epoll based net IOAndrew Stitcher2007-06-181-0/+263
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@548337 13f79535-47bb-0310-9956-ffa450edef68