mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-04-16 08:43:17 +00:00
Fixed compilation for LWIP_DNS==1 after changing sys layer
This commit is contained in:
parent
7ccf8cb731
commit
0f05a6aede
@ -620,19 +620,19 @@ netconn_gethostbyname(const char *name, ip_addr_t *addr)
|
|||||||
LWIP_ERROR("netconn_gethostbyname: invalid name", (name != NULL), return ERR_ARG;);
|
LWIP_ERROR("netconn_gethostbyname: invalid name", (name != NULL), return ERR_ARG;);
|
||||||
LWIP_ERROR("netconn_gethostbyname: invalid addr", (addr != NULL), return ERR_ARG;);
|
LWIP_ERROR("netconn_gethostbyname: invalid addr", (addr != NULL), return ERR_ARG;);
|
||||||
|
|
||||||
sem = sys_sem_new(0);
|
err = sys_sem_new(&sem, 0);
|
||||||
if (sem == SYS_SEM_NULL) {
|
if (err != ERR_OK) {
|
||||||
return ERR_MEM;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.name = name;
|
msg.name = name;
|
||||||
msg.addr = addr;
|
msg.addr = addr;
|
||||||
msg.err = &err;
|
msg.err = &err;
|
||||||
msg.sem = sem;
|
msg.sem = &sem;
|
||||||
|
|
||||||
tcpip_callback(do_gethostbyname, &msg);
|
tcpip_callback(do_gethostbyname, &msg);
|
||||||
sys_sem_wait(sem);
|
sys_sem_wait(&sem);
|
||||||
sys_sem_free(sem);
|
sys_sem_free(&sem);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -1412,7 +1412,7 @@ do_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
|
|||||||
*msg->addr = *ipaddr;
|
*msg->addr = *ipaddr;
|
||||||
}
|
}
|
||||||
/* wake up the application task waiting in netconn_gethostbyname */
|
/* wake up the application task waiting in netconn_gethostbyname */
|
||||||
sys_sem_signal(&msg->sem);
|
sys_sem_signal(msg->sem);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1430,7 +1430,7 @@ do_gethostbyname(void *arg)
|
|||||||
if (*msg->err != ERR_INPROGRESS) {
|
if (*msg->err != ERR_INPROGRESS) {
|
||||||
/* on error or immediate success, wake up the application
|
/* on error or immediate success, wake up the application
|
||||||
* task waiting in netconn_gethostbyname */
|
* task waiting in netconn_gethostbyname */
|
||||||
sys_sem_signal(&msg->sem);
|
sys_sem_signal(msg->sem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LWIP_DNS */
|
#endif /* LWIP_DNS */
|
||||||
|
@ -127,7 +127,7 @@ struct dns_api_msg {
|
|||||||
ip_addr_t *addr;
|
ip_addr_t *addr;
|
||||||
/** This semaphore is posted when the name is resolved, the application thread
|
/** This semaphore is posted when the name is resolved, the application thread
|
||||||
should wait on it. */
|
should wait on it. */
|
||||||
sys_sem_t sem;
|
sys_sem_t *sem;
|
||||||
/** Errors are given back here */
|
/** Errors are given back here */
|
||||||
err_t *err;
|
err_t *err;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user