mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #9900 from michalpasztamobica/dns_async_handle_would_block
DNS send returning WOULD_BLOCK forces delayed retrypull/10068/head
commit
5252163534
|
|
@ -1021,7 +1021,14 @@ static void nsapi_dns_query_async_send(void *ptr)
|
||||||
err = query->socket->sendto(dns_addr, packet, len);
|
err = query->socket->sendto(dns_addr, packet, len);
|
||||||
|
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
|
if (err == NSAPI_ERROR_WOULD_BLOCK) {
|
||||||
|
nsapi_dns_call_in(query->call_in_cb, DNS_TIMER_TIMEOUT, mbed::callback(nsapi_dns_query_async_send, ptr));
|
||||||
|
free(packet);
|
||||||
|
dns_mutex->unlock();
|
||||||
|
return; // Timeout handler will retry the connection if possible
|
||||||
|
} else {
|
||||||
query->dns_server++;
|
query->dns_server++;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue