summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/epoll
Commit message (Collapse)AuthorAgeFilesLines
* Update from trunk r1375509 through r1450773asyncstoreKim van der Riet2013-02-281-5/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated code to include recent refactoring by Gordon (gsim) - see ↵Kim van der Riet2012-08-271-5/+3
| | | | | | QPID-4178. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1377715 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3405: Slightly hacky way to get reconnect to workAndrew Stitcher2011-08-121-1/+6
| | | | | | | | | | | - If we fail to reset the epoll settings of a file handle when going round the poll loop and it's because the handle is not in the epoll set then just try to add it into the epoll set. This gets round the case where connect closes a socket fd (implicitly taking out of all epoll sets) and then tries to connect again. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1157273 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2388: Do not unmask signals whilst waiting for IO to happenAndrew Stitcher2010-06-231-12/+0
| | | | | | | - The client and common libraries do not use signals at all so there is no real reason to allow signal handling on IO threads. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@957109 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2004: Send disconnected event to any handles still registered after ↵Gordon Sim2010-06-011-0/+46
| | | | | | shutdown to ensure they can clean themselves up git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@950205 13f79535-47bb-0310-9956-ffa450edef68
* Fix the behaviour of the EpollPoller when shutdowns and interrupts interactAndrew Stitcher2010-05-181-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@945899 13f79535-47bb-0310-9956-ffa450edef68
* 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