diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-09-27 17:22:27 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-09-27 17:22:27 +0000 |
commit | 7e656627eceb9348dc0de1572b59468c0ed9b3b9 (patch) | |
tree | 9376c12fd12e03508b7dbf268abbc7303583f89d /cpp | |
parent | BerkeleyDB fixes (diff) | |
download | ice-7e656627eceb9348dc0de1572b59468c0ed9b3b9.tar.bz2 ice-7e656627eceb9348dc0de1572b59468c0ed9b3b9.tar.xz ice-7e656627eceb9348dc0de1572b59468c0ed9b3b9.zip |
Fix for bug 466 - udp not shutting down with tpc
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/Ice/UdpTransceiver.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index 32d66528023..5111f857368 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -65,6 +65,17 @@ IceInternal::UdpTransceiver::shutdownReadWrite() assert(_fd != INVALID_SOCKET); shutdownSocketReadWrite(_fd); + +#ifdef _WIN32 + // + // This is required to unblock the select call when using thread per connection. + // + SOCKET fd = createSocket(true); + setBlock(fd, false); + doConnect(fd, _addr, -1); + ::send(fd, "", 1, 0); + closeSocket(fd); +#endif } void |