openslp/openslp.tcpunicast.diff

18 lines
844 B
Diff

--- libslp/libslp_network.c.orig 2018-03-01 16:08:38.813669170 +0000
+++ libslp/libslp_network.c 2018-03-05 15:59:56.140618236 +0000
@@ -1426,7 +1426,13 @@ SLPError NetworkUcastRqstRply(SLPHandleI
/*In reality, this function just sets things up for NetworkRqstRply to operate*/
if(handle->unicastsock == SLP_INVALID_SOCKET) /*The unicast code will certainly reuse this socket*/
- handle->unicastsock = SLPNetworkCreateDatagram(handle->ucaddr.ss_family);
+ {
+ struct timeval timeout;
+ int maxwait = SLPPropertyAsInteger("net.slp.unicastMaximumWait");
+ timeout.tv_sec = maxwait / 1000;
+ timeout.tv_usec = (maxwait % 1000) * 1000;
+ handle->unicastsock = SLPNetworkConnectStream(&handle->ucaddr, &timeout);
+ }
if (handle->unicastsock == SLP_INVALID_SOCKET)
return SLP_NETWORK_ERROR;