> On 2011-08-10 14:06:02, Alan Conway wrote:
> > /trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp, line 388
> > <https://reviews.apache.org/r/1440/diff/1/?file=31824#file31824line388>
> >
> >     Curious, how would that happen?

This can now happen in retrying connections: When we try to connect we call 
::connect() in non blocking mode and then use the poller to detect success or 
failure. If we get failure and need to retry then we close the socket which 
then causes this condition. This fix is really an unfortunate hack, but it 
seemed the simplest solution to this problem.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1440/#review1374
-----------------------------------------------------------


On 2011-08-09 22:26:16, Andrew Stitcher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/1440/
> -----------------------------------------------------------
> 
> (Updated 2011-08-09 22:26:16)
> 
> 
> Review request for qpid, Alan Conway, Gordon Sim, Kenneth Giusti, Ted Ross, 
> Steve Huston, and Cliff Jansen.
> 
> 
> Summary
> -------
> 
> This is my proposed code change for C++ and Python to support IPv6:
> 
> It includes a few different items:
> 
> IPv6 support at the socket level
> - The C++ broker now listens on both TCPv4 and TCPv6 sockets for connections
>   and accepts from both in the regular tcp transport.
> - The C++ client will connect to both TCPv4 and TCPv6 connections. If a name
>   resolves to both v4 and v6 addresses they will be tried in turn as is
>   required for correct functioning in a mixed network.
> - The necessary Windows code is also present but more lightly tested.
> - The Python client will now similarly connect to v6 as well as v4 addresses
> 
> Connection URL syntax and parsing updated to include literal IPv6 addresses
> - For example "[::1]" is now allowed
> - C++ and Python URL parsers updated (very annoying that the parse different 
> syntaxes)
> 
> Simple system test to the C++ build to smoke test IPv6 support.
> - This only uses the IPv6 loopback address though
> 
> I have this change broken down into smaller patches if anyone would rather 
> see it that way. It's just easier
> to put it up for review in one big glob.
> 
> 
> This addresses bugs QPID-3404, QPID-3405, QPID-3406, QPID-3407, and QPID-3409.
>     https://issues.apache.org/jira/browse/QPID-3404
>     https://issues.apache.org/jira/browse/QPID-3405
>     https://issues.apache.org/jira/browse/QPID-3406
>     https://issues.apache.org/jira/browse/QPID-3407
>     https://issues.apache.org/jira/browse/QPID-3409
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/qpid/Address.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/Url.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/Socket.h 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/SocketAddress.h 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/posix/Socket.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIoResult.h 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/windows/Socket.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/windows/SocketAddress.cpp 1155572 
>   /trunk/qpid/cpp/src/qpid/sys/windows/SslAsynchIO.h 1155572 
>   /trunk/qpid/cpp/src/tests/Makefile.am 1155572 
>   /trunk/qpid/cpp/src/tests/Url.cpp 1155572 
>   /trunk/qpid/cpp/src/tests/cluster_test_logs.py 1155572 
>   /trunk/qpid/cpp/src/tests/ipv6_test PRE-CREATION 
>   /trunk/qpid/extras/qmf/src/py/qmf/console.py 1155572 
>   /trunk/qpid/python/qpid/util.py 1155572 
>   /trunk/qpid/tools/src/py/qpid-route 1155572 
> 
> Diff: https://reviews.apache.org/r/1440/diff
> 
> 
> Testing
> -------
> 
> Tested (amongst other things) with included system test
> Tested lightly by hand on Windows
> 
> 
> Thanks,
> 
> Andrew
> 
>

Reply via email to