summaryrefslogtreecommitdiff
path: root/Ivy/ThreadedSocket.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/ThreadedSocket.cxx')
-rw-r--r--Ivy/ThreadedSocket.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/Ivy/ThreadedSocket.cxx b/Ivy/ThreadedSocket.cxx
index ee1e03b..7d43bb5 100644
--- a/Ivy/ThreadedSocket.cxx
+++ b/Ivy/ThreadedSocket.cxx
@@ -304,8 +304,19 @@ int CThreadedSocket::AddMember( const char * lpszHostAddress )
}
if ( IN_CLASSD( htonl(imr.imr_multiaddr.s_addr) ) )
{
- SetSockOpt( IP_MULTICAST_TTL, &multicast_ttl, sizeof( multicast_ttl ), IPPROTO_IP );
- SetSockOpt( IP_ADD_MEMBERSHIP, &imr, sizeof( imr ), IPPROTO_IP );
+ int err;
+ err = SetSockOpt( IP_MULTICAST_TTL, &multicast_ttl, sizeof( multicast_ttl ), IPPROTO_IP );
+ if ( err != 0 )
+ {
+ TRACE("CThreadedSocket::AddMember IP_MULTICAST_TTL error %d\n", GetLastError());
+ return err;
+ }
+ err = SetSockOpt( IP_ADD_MEMBERSHIP, &imr, sizeof( imr ), IPPROTO_IP );
+ if ( err != 0 )
+ {
+ TRACE("CThreadedSocket::AddMember IP_ADD_MEMBERSHIP error %d\n", GetLastError());
+ return err;
+ }
}
return 0;
}