summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys
Commit message (Collapse)AuthorAgeFilesLines
* QPID-3476: Demote timer warnings to informational statementsGordon Sim2011-09-081-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1166818 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3455: Don't treat unspecified frame size as implying the minimum value. ↵Gordon Sim2011-08-261-0/+1
| | | | | | Prevent infinite loop when unable to decode frame in SASL security layer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1162060 13f79535-47bb-0310-9956-ffa450edef68
* Don't try setsockopt IPV6_V6ONLY when setting up new socket. Doesn't work on ↵Stephen D. Huston2011-08-251-5/+0
| | | | | | XP. Addresses note I left in QPID-3406. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1161783 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3447: Fix windows build broken by previous commit (r1160458) due to ↵Gordon Sim2011-08-231-1/+1
| | | | | | lack of exported method git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1160612 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3447: Creating invalid federation link causes file descriptor leakAndrew Stitcher2011-08-221-0/+7
| | | | | | | - Previously we weren't correctly handling synchronous errors when we attempted to connect. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1160458 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Tidy up the Socket/SocketAddress code:Andrew Stitcher2011-08-175-91/+114
| | | | | | | | - Move (almost) all knowledge of difference in address types to SocketAddress - Make the Windows and Posix sockets code more similar with the aim of eliminating differences in the future git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1158934 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3406: Get IPv6 working on Windows portAndrew Stitcher2011-08-127-76/+152
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1157274 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-3405: IPv6 support for Unix C++ ports:Andrew Stitcher2011-08-127-37/+126
| | | | | | | | | | | | - On the Listen side we create separate listening sockets for IPv4 and IPv6 making sure to not allow the IPv6 socket to run dual stack. This makes the reported IPv4 addresses look "normal" and would allow us to turn control IPv4/IPv6 listening separately. - On the connect side we make sure to try all the addresses returned by getaddrinfo() in order until we either find one that connects or have tried all of them. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1157272 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3403: Enhancement as suggested by Jason DillamanGordon Sim2011-08-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1156560 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3403: Remove empty binding list from mapGordon Sim2011-08-101-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1156266 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3399: Qpidd possible memory leaksAlan Conway2011-08-051-10/+11
| | | | | | | | | Replace vector with deque in PollableQueue. Under load the queue can get long, and a vector, which allocates space in a single block, is a memory hog. A deque will give and take memory in reasonable chunks as the queue grows and shrinks. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1154377 13f79535-47bb-0310-9956-ffa450edef68
* qpid-3256 additional changes to also work for mingwClifford Allan Jansen2011-07-131-4/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1145876 13f79535-47bb-0310-9956-ffa450edef68
* qpid-3256 Windows fix for loader lock hangClifford Allan Jansen2011-07-121-29/+251
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1145468 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix compile error on windows due to assigning an AtomicValue.Alan Conway2011-06-171-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136971 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: Performance problem with TTL messages.Alan Conway2011-06-152-2/+12
| | | | | | | | | | | | When sending a large number of messages with nonzero TTLs to a cluster, overall message throughput drops by around 20-30% compared to messages with TTL 0. The previous approach to TTL in the cluster is replaced with a simpler "cluster clock". Also QueueCleaner is executed in the cluster timer, and modified to be deterministic in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3284: Eliminated warnings from gcc 4.6 compilerAndrew Stitcher2011-06-072-12/+2
| | | | | | | | - Removed a bunch of variables set but not further used. - Rejigged some asserts which would now have unused vars if compiler -DNDEBUG git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1133166 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Windows: set up name to connect to before connecting (as unix code)Andrew Stitcher2011-05-261-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128069 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3282: Potential bug in circular connection detection:Andrew Stitcher2011-05-264-7/+28
| | | | | | | - make sure that we compare numeric addresses of both local and remote ends of the connection (previously the remote end could be an unresolved hostname) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128068 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Add cached localname as well as peername to SocketAndrew Stitcher2011-05-263-15/+24
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128067 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Small improvements to Socket codeAndrew Stitcher2011-05-261-9/+5
| | | | | | | - Rewrite SocketAddress::operator= in terms of copy constructor - Improve error diagnostic git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128066 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove a lot of redundant stuff from the Socket codeAndrew Stitcher2011-05-267-167/+12
| | | | | | - Removal of unused code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128065 13f79535-47bb-0310-9956-ffa450edef68
* Refactor socket connect calls to take a string portAndrew Stitcher2011-05-2614-51/+51
| | | | | | This is used used to implement unix domain sockets - QPID-3281 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128064 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2905 - Code modifications to enable Windows builds with the mingw32 ↵Ted Ross2011-05-188-19/+86
| | | | | | compiler. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1104662 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2905 - Misc. code cleanup to allow compilation on a wider set of compilers.Ted Ross2011-05-173-5/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1104560 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3186 - Import Export generalization to support a larger set of ↵Ted Ross2011-05-174-5/+5
| | | | | | compilers and run time environments git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1104559 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-091-1/+6
| | | | | | | | - Make clang use slow mutex protected AtomicValue This is the simplest solution to clang not supporting 64 bit atomic builtins. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101185 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-091-3/+3
| | | | | | | - Explicitly specify parent method as clang didn't find it [is this a clang++ 2.9 bug?] git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101180 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-092-2/+3
| | | | | | | - Change class/struct declarations to be consistent with the definition to avoid warnings git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101178 13f79535-47bb-0310-9956-ffa450edef68
* Added Windows high-res timer output. Resolves QPID-3236Stephen D. Huston2011-05-071-6/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1100638 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3236 - Add high-resolution timestamps to log files for debug ↵Kim van der Riet2011-05-022-0/+16
| | | | | | situations. Windows impl has a stub only. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1098554 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3227: assert if application or reserved header overflows send buffer.Kenneth Anthony Giusti2011-04-292-5/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1097934 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3227: account for extra header bytes when computing data size for send ↵Kenneth Anthony Giusti2011-04-273-11/+14
| | | | | | buffers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1097102 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3199: Locking error qpid::sys::StateMonitorAndrew Stitcher2011-04-111-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091224 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3187: Added exception handling safeguard for timer tasksGordon Sim2011-04-051-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1088951 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3129: cluster_tests.LongTests.test_failover hangsAlan Conway2011-03-301-10/+27
| | | | | | | | | | | | | | | | | Fix is a race condition in posix/Socket.cpp Socket::connect. When connecting to a port on the same host which no longer has a process associated with it the OS occasionally chooses the remote port (which is unoccupied) as the port to bind the local end of the socket, resulting in a "circular" connection. This seems like something the OS should prevent but I have confirmed that the sporadic hangs in cluster_tests.LongTests.test_failover on RHEL5 are caused by such a circular connection. The fix is to detect circular connections and raise an error. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087052 13f79535-47bb-0310-9956-ffa450edef68
* qpid-3171Michael Goulish2011-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | The registration of the codec happens on a different thread from the use of the codec. It is possible for the registration to occur after the first attempted use. In my testing, this happened 3% of the time -- 165 times out of 5000 tests -- when using RDMA transport, and 0 times out of 5000 when using TCP. Which is why we didn't notice it earlier. We have a function that tells when we are ready to encode -- CyrusSecurityLayer::canEncode. But it does not check the validity of the codec pointer before using it, so it cores in this situation. I believe simply checking that pointer is probably the best solution. Introducing that check caused the crash not to show up in 10,000 trials. There were also no hangs. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087047 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpidd late/overran warnings.Alan Conway2011-03-182-9/+13
| | | | | | | Warnings for late-and-overrun tasks were not being correctly reported. Lateness for overrun tasks below the late threshold were not being reported. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1082954 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3121: Fix linking on windowsGordon Sim2011-03-081-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079313 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3121: Cluster management inconsistency when using persistent store.Alan Conway2011-03-072-4/+24
| | | | | | | | | | | | | | | | | | | | With the store doing async completions, completion IO callbacks could be queued differently on different nodes. This led to inconsistent management changes in a cluster when a connection was modified in an IO callback. Fix was to mark IO callback processing as not cluster safe, so connections don't record management stats during an IO callback. Test changes: - enable durable tests in test_management. - add substitutions to mask known issue of inconsistent "stats changed" messages. - add transactional client to test_management. - ignore heartbeat connection close logs in cluster_test_logs.py - make brokertest.retry more accurate - fix minor bug in brokertest.log_ready. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1078947 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2216: bump up log levelGordon Sim2011-03-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1078882 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Kenneth Anthony Giusti2011-02-192-5/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* Fix missing QPID_COMMON_EXTERN in sys/Socket.h, causing windows build failure.Alan Conway2011-02-021-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066581 13f79535-47bb-0310-9956-ffa450edef68
* Resolves QPID-3031. Allows client connection options to specify an SSL ↵Jonathan Robie2011-02-022-27/+47
| | | | | | cert-name. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066508 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Unique management identifier for connections.Alan Conway2011-02-016-10/+21
| | | | | | | | | | | | | | | Management was using remote socket address (host:port) to identify connections, but this is not a unique identifier. Both the local and remote addresses are needed to uniquely identify a connection - see http://www.faqs.org/rfcs/rfc793.html. This was causing management errors (multiple objects using same identifier) and cluster failures (invalid-arg exception) due to inconsistencies caused by the incorrect management map. This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066220 13f79535-47bb-0310-9956-ffa450edef68
* Rename Rdma send buffer operations.Andrew Stitcher2010-12-237-21/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052331 13f79535-47bb-0310-9956-ffa450edef68
* Changes due to review comments from Doug Ledford:Andrew Stitcher2010-12-236-25/+26
| | | | | | | | - Removed lock unsafe operation Rdma::QueuePair::bufferAvailable() and replaced the unavailable case with failing getBuffer(). - Improved asserts in the Rdma::QueuePair::getBuffer() code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052330 13f79535-47bb-0310-9956-ffa450edef68
* Implementation for v1 rdma protocol - append sent credit and flags wordAndrew Stitcher2010-12-234-26/+77
| | | | | | | | | after sent frame (instead of sending it in immediate data). Small change to send buffer management to support this to 0 dataCount when returning buffers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052329 13f79535-47bb-0310-9956-ffa450edef68
* Reduce rdma scatter gathers allocated per queue pair to 1 as iWarpAndrew Stitcher2010-12-231-2/+5
| | | | | | only supports 1 sge. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052328 13f79535-47bb-0310-9956-ffa450edef68
* Fix error handling for ibv_post_send() & ibv_port_recv()Andrew Stitcher2010-12-231-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052327 13f79535-47bb-0310-9956-ffa450edef68