Hi,
I check args they are correct.
If I put breaks points at each "return ERR_VAL"
the program break there:
static void
do_dns_found(const char *name, struct ip_addr *ipaddr, void *arg)
{
struct dns_api_msg *msg = (struct dns_api_msg*)arg;
LWIP_ASSERT("DNS response for wrong host name", strcmp(msg->name, name)
== 0);
if (ipaddr == NULL) {
/* timeout or memory error */
*msg->err = ERR_VAL;
//<<<<<<<<< HERE
} else {
/* address was resolved */
*msg->err = ERR_OK;
*msg->addr = *ipaddr;
}
/* wake up the application task waiting in netconn_gethostbyname */
sys_sem_signal(msg->sem);
}
In the trace we can see "dns_check_entry: "www.google.com": timeout"