Fixes for mdns

This commit is contained in:
Willem Toorop 2017-03-23 12:53:44 +01:00
parent c275b205d3
commit 2a496969cd
2 changed files with 11 additions and 4 deletions

View File

@ -305,9 +305,14 @@ _getdns_netreq_change_state(
uint64_t now_ms;
getdns_network_req *prev;
if (!netreq || !netreq->owner->is_dns_request)
if (!netreq)
return;
if (!netreq->owner->is_dns_request) {
netreq->state = new_state;
return;
}
context = netreq->owner->context;
if (netreq->state != NET_REQ_IN_FLIGHT) {

View File

@ -1589,7 +1589,7 @@ static getdns_return_t mdns_initialize_continuous_request(getdns_network_req *ne
{
GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event);
GETDNS_SCHEDULE_EVENT(
dnsreq->loop, -1, dnsreq->context->timeout,
dnsreq->loop, -1, _getdns_ms_until_expiry(dnsreq->expires),
getdns_eventloop_event_init(&netreq->event, netreq,
NULL, NULL, mdns_mcast_timeout_cb));
}
@ -1818,7 +1818,8 @@ mdns_udp_write_cb(void *userarg)
return;
}
GETDNS_SCHEDULE_EVENT(
dnsreq->loop, netreq->fd, dnsreq->context->timeout,
dnsreq->loop, netreq->fd,
_getdns_ms_until_expiry(dnsreq->expires),
getdns_eventloop_event_init(&netreq->event, netreq,
mdns_udp_read_cb, NULL, mdns_timeout_cb));
}
@ -1871,7 +1872,8 @@ _getdns_submit_mdns_request(getdns_network_req *netreq)
netreq->fd = fd;
GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event);
GETDNS_SCHEDULE_EVENT(
dnsreq->loop, netreq->fd, dnsreq->context->timeout,
dnsreq->loop, netreq->fd,
_getdns_ms_until_expiry(dnsreq->expires),
getdns_eventloop_event_init(&netreq->event, netreq,
NULL, mdns_udp_write_cb, mdns_timeout_cb));
ret = GETDNS_RETURN_GOOD;