Fixed compilation for LWIP_DNS==1 after changing sys layer

This commit is contained in:
goldsimon 2010-02-13 15:43:19 +00:00
parent 7ccf8cb731
commit 0f05a6aede
3 changed files with 9 additions and 9 deletions

View File

@ -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;
} }

View File

@ -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 */

View File

@ -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;
}; };