forked from xuos/xiuos
rndis waits for LWIPServer in thread.
This commit is contained in:
parent
72ceb7fd26
commit
3f80e39695
|
@ -37,7 +37,7 @@ int ipc_rndis_server_init(void *para)
|
||||||
/* IPC lwip client */
|
/* IPC lwip client */
|
||||||
struct Session *g_session_lwip = NULL;
|
struct Session *g_session_lwip = NULL;
|
||||||
|
|
||||||
int ipc_lwip_client_init(void)
|
int ipc_lwip_client_init(void *para)
|
||||||
{
|
{
|
||||||
struct Session *session;
|
struct Session *session;
|
||||||
|
|
||||||
|
@ -46,10 +46,11 @@ int ipc_lwip_client_init(void)
|
||||||
printf("No memory to alloc for LWIPServer session\r\n");
|
printf("No memory to alloc for LWIPServer session\r\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
if(connect_session(session, "LWIPServer", 4096) < 0) {
|
|
||||||
printf("connect LWIPServer session failed\n");
|
while (connect_session(session, "LWIPServer", 4096) < 0) {
|
||||||
return -1;
|
usb_osal_msleep(1000);
|
||||||
}
|
}
|
||||||
|
printf("connect LWIPServer session success.\r\n");
|
||||||
g_session_lwip = session;
|
g_session_lwip = session;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -63,12 +64,17 @@ int lwip_rndis_data_recv(void *dataptr, size_t len)
|
||||||
|
|
||||||
void ipc_rndis_init(void){
|
void ipc_rndis_init(void){
|
||||||
int tid;
|
int tid;
|
||||||
|
int tid_client;
|
||||||
|
|
||||||
ipc_lwip_client_init();
|
|
||||||
tid = thread(ipc_rndis_server_init, "ipc_rndis_server", NULL);
|
tid = thread(ipc_rndis_server_init, "ipc_rndis_server", NULL);
|
||||||
if(tid < 0){
|
if(tid < 0){
|
||||||
printf("create thread ipc_rndis_server failed.\r\n");
|
printf("create thread ipc_rndis_server failed.\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tid_client = thread(ipc_lwip_client_init, "ipc_rndis_lwip_client", NULL);
|
||||||
|
if(tid < 0){
|
||||||
|
printf("create thread ipc_rndis_server failed.\r\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usb_init(int id)
|
static void usb_init(int id)
|
||||||
|
@ -93,7 +99,7 @@ int main(int argc, char* argv[])
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("usb3 id % init.\n", id);
|
printf("main usb3 id(%d) init.\r\n", id);
|
||||||
usb_init(id);
|
usb_init(id);
|
||||||
|
|
||||||
ipc_rndis_init();
|
ipc_rndis_init();
|
||||||
|
|
Loading…
Reference in New Issue