18 lines
844 B
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;
|