Skip to content

Commit 2a49696

Browse files
committed
Fixes for mdns
1 parent c275b20 commit 2a49696

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

src/general.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,14 @@ _getdns_netreq_change_state(
305305
uint64_t now_ms;
306306
getdns_network_req *prev;
307307

308-
if (!netreq || !netreq->owner->is_dns_request)
308+
if (!netreq)
309309
return;
310310

311+
if (!netreq->owner->is_dns_request) {
312+
netreq->state = new_state;
313+
return;
314+
}
315+
311316
context = netreq->owner->context;
312317

313318
if (netreq->state != NET_REQ_IN_FLIGHT) {

src/mdns.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,7 +1589,7 @@ static getdns_return_t mdns_initialize_continuous_request(getdns_network_req *ne
15891589
{
15901590
GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event);
15911591
GETDNS_SCHEDULE_EVENT(
1592-
dnsreq->loop, -1, dnsreq->context->timeout,
1592+
dnsreq->loop, -1, _getdns_ms_until_expiry(dnsreq->expires),
15931593
getdns_eventloop_event_init(&netreq->event, netreq,
15941594
NULL, NULL, mdns_mcast_timeout_cb));
15951595
}
@@ -1818,7 +1818,8 @@ mdns_udp_write_cb(void *userarg)
18181818
return;
18191819
}
18201820
GETDNS_SCHEDULE_EVENT(
1821-
dnsreq->loop, netreq->fd, dnsreq->context->timeout,
1821+
dnsreq->loop, netreq->fd,
1822+
_getdns_ms_until_expiry(dnsreq->expires),
18221823
getdns_eventloop_event_init(&netreq->event, netreq,
18231824
mdns_udp_read_cb, NULL, mdns_timeout_cb));
18241825
}
@@ -1871,7 +1872,8 @@ _getdns_submit_mdns_request(getdns_network_req *netreq)
18711872
netreq->fd = fd;
18721873
GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event);
18731874
GETDNS_SCHEDULE_EVENT(
1874-
dnsreq->loop, netreq->fd, dnsreq->context->timeout,
1875+
dnsreq->loop, netreq->fd,
1876+
_getdns_ms_until_expiry(dnsreq->expires),
18751877
getdns_eventloop_event_init(&netreq->event, netreq,
18761878
NULL, mdns_udp_write_cb, mdns_timeout_cb));
18771879
ret = GETDNS_RETURN_GOOD;

0 commit comments

Comments
 (0)