mirror of
https://github.com/ep00ch/lwip-contrib-mac.git
synced 2024-10-03 20:55:18 +00:00
NO_SYS=0 initialization: need to wait (using a semaphore) for initialization to finish before calling update_adapter()!
This commit is contained in:
parent
530171e23e
commit
664faf3b58
@ -32,7 +32,7 @@
|
|||||||
#ifndef __LWIPOPTS_H__
|
#ifndef __LWIPOPTS_H__
|
||||||
#define __LWIPOPTS_H__
|
#define __LWIPOPTS_H__
|
||||||
|
|
||||||
#define NO_SYS 1
|
#define NO_SYS 0
|
||||||
#define LWIP_SOCKET (NO_SYS==0)
|
#define LWIP_SOCKET (NO_SYS==0)
|
||||||
#define LWIP_NETCONN (NO_SYS==0)
|
#define LWIP_NETCONN (NO_SYS==0)
|
||||||
|
|
||||||
|
@ -216,13 +216,23 @@ apps_init()
|
|||||||
static void
|
static void
|
||||||
test_init(void * arg)
|
test_init(void * arg)
|
||||||
{ /* remove compiler warning */
|
{ /* remove compiler warning */
|
||||||
|
#if NO_SYS
|
||||||
LWIP_UNUSED_ARG(arg);
|
LWIP_UNUSED_ARG(arg);
|
||||||
|
#else /* NO_SYS */
|
||||||
|
sys_sem_t init_sem;
|
||||||
|
LWIP_ASSERT("arg != NULL", arg != NULL);
|
||||||
|
init_sem = (sys_sem_t)arg;
|
||||||
|
#endif /* NO_SYS */
|
||||||
|
|
||||||
/* init network interfaces */
|
/* init network interfaces */
|
||||||
msvc_netif_init();
|
msvc_netif_init();
|
||||||
|
|
||||||
/* init apps */
|
/* init apps */
|
||||||
apps_init();
|
apps_init();
|
||||||
|
|
||||||
|
#if !NO_SYS
|
||||||
|
sys_sem_signal(init_sem);
|
||||||
|
#endif /* NO_SYS */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is somewhat different to other ports: we have a main loop here:
|
/* This is somewhat different to other ports: we have a main loop here:
|
||||||
@ -231,12 +241,21 @@ test_init(void * arg)
|
|||||||
* interrupt in windows for that :-) */
|
* interrupt in windows for that :-) */
|
||||||
void main_loop()
|
void main_loop()
|
||||||
{
|
{
|
||||||
|
#if !NO_SYS
|
||||||
|
sys_sem_t init_sem;
|
||||||
|
#endif /* NO_SYS */
|
||||||
|
|
||||||
/* initialize lwIP stack, network interfaces and applications */
|
/* initialize lwIP stack, network interfaces and applications */
|
||||||
#if NO_SYS
|
#if NO_SYS
|
||||||
nosys_init();
|
nosys_init();
|
||||||
test_init (NULL);
|
test_init(NULL);
|
||||||
#else/ * NO_SYS */
|
#else /* NO_SYS */
|
||||||
tcpip_init( test_init, NULL);
|
init_sem = sys_sem_new(0);
|
||||||
|
tcpip_init(test_init, init_sem);
|
||||||
|
/* we have to wait for initialization to finish before
|
||||||
|
* calling update_adapter()! */
|
||||||
|
sys_sem_wait(init_sem);
|
||||||
|
sys_sem_free(init_sem);
|
||||||
#endif /* NO_SYS */
|
#endif /* NO_SYS */
|
||||||
|
|
||||||
/* MAIN LOOP for driver update (and timers if NO_SYS) */
|
/* MAIN LOOP for driver update (and timers if NO_SYS) */
|
||||||
|
Loading…
Reference in New Issue
Block a user