diff --git a/src/osgPlugins/osc/ip/posix/UdpSocket.cpp b/src/osgPlugins/osc/ip/posix/UdpSocket.cpp index 75c892c12..5b49d9c96 100644 --- a/src/osgPlugins/osc/ip/posix/UdpSocket.cpp +++ b/src/osgPlugins/osc/ip/posix/UdpSocket.cpp @@ -176,7 +176,10 @@ public: { assert( isConnected_ ); - send( socket_, data, size, 0 ); + if (send( socket_, data, size, 0 ) < 0) + { + throw std::runtime_error("error when calling send(..)\n"); + } } void SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ) @@ -184,7 +187,10 @@ public: sendToAddr_.sin_addr.s_addr = htonl( remoteEndpoint.address ); sendToAddr_.sin_port = htons( remoteEndpoint.port ); - sendto( socket_, data, size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ); + if (sendto( socket_, data, size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ) < 0) + { + throw std::runtime_error("error when calling send(..)\n"); + } } void Bind( const IpEndpointName& localEndpoint )