Fixed compiling api with LWIP_NETCONN_SEM_PER_THREAD==1 && LWIP_MPU_COMPATIBLE==1

This commit is contained in:
sg
2015-10-09 21:00:21 +02:00
parent 365f3fb651
commit fc1db87318
5 changed files with 28 additions and 6 deletions

View File

@@ -867,7 +867,7 @@ netconn_gethostbyname(const char *name, ip_addr_t *addr)
#endif /* LWIP_NETCONN_SEM_PER_THREAD */
tcpip_callback(lwip_netconn_do_gethostbyname, &API_VAR_REF(msg));
sys_sem_wait(API_EXPR_REF(API_VAR_REF(msg).sem));
sys_sem_wait(API_EXPR_REF_SEM(API_VAR_REF(msg).sem));
#if !LWIP_NETCONN_SEM_PER_THREAD
sys_sem_free(API_EXPR_REF(API_VAR_REF(msg).sem));
#endif /* !LWIP_NETCONN_SEM_PER_THREAD */

View File

@@ -1827,7 +1827,7 @@ lwip_netconn_do_dns_found(const char *name, const ip_addr_t *ipaddr, void *arg)
API_EXPR_DEREF(msg->addr) = *ipaddr;
}
/* wake up the application task waiting in netconn_gethostbyname */
sys_sem_signal(API_EXPR_REF(msg->sem));
sys_sem_signal(API_EXPR_REF_SEM(msg->sem));
}
/**
@@ -1852,7 +1852,7 @@ lwip_netconn_do_gethostbyname(void *arg)
if (API_EXPR_DEREF(msg->err) != ERR_INPROGRESS) {
/* on error or immediate success, wake up the application
* task waiting in netconn_gethostbyname */
sys_sem_signal(API_EXPR_REF(msg->sem));
sys_sem_signal(API_EXPR_REF_SEM(msg->sem));
}
}
#endif /* LWIP_DNS */

View File

@@ -1841,7 +1841,12 @@ lwip_getsockopt_callback(void *arg)
LWIP_ASSERT("arg != NULL", arg != NULL);
data = (struct lwip_setgetsockopt_data*)arg;
data->err = lwip_getsockopt_impl(data->s, data->level, data->optname, data->optval.p,
data->err = lwip_getsockopt_impl(data->s, data->level, data->optname,
#if LWIP_MPU_COMPATIBLE
data->optval,
#else /* LWIP_MPU_COMPATIBLE */
data->optval.p,
#endif /* LWIP_MPU_COMPATIBLE */
&data->optlen);
sys_sem_signal((sys_sem_t*)(data->completed_sem));
@@ -2233,7 +2238,12 @@ lwip_setsockopt_callback(void *arg)
LWIP_ASSERT("arg != NULL", arg != NULL);
data = (struct lwip_setgetsockopt_data*)arg;
data->err = lwip_setsockopt_impl(data->s, data->level, data->optname, data->optval.pc,
data->err = lwip_setsockopt_impl(data->s, data->level, data->optname,
#if LWIP_MPU_COMPATIBLE
data->optval,
#else /* LWIP_MPU_COMPATIBLE */
data->optval.pc,
#endif /* LWIP_MPU_COMPATIBLE */
data->optlen);
sys_sem_signal((sys_sem_t*)(data->completed_sem));