diff --git a/components/dfs/src/dfs.c b/components/dfs/src/dfs.c index 459ab52793cb98591a1535a8a18d0d8c9977abc4..e73c6e3794e364e375038c1c03a58511dcd2f07c 100644 --- a/components/dfs/src/dfs.c +++ b/components/dfs/src/dfs.c @@ -55,15 +55,15 @@ static int fd_alloc(struct dfs_fdtable *fdt, int startfd); /** * this function will initialize device file system. */ -static volatile uint8_t init_ok = 0; int dfs_init(void) { - if(init_ok) + static rt_bool_t init_ok = RT_FALSE; + + if (init_ok) { rt_kprintf("dfs already init.\n"); - return 0; + return 0; } - init_ok = 1; /* clear filesystem operations table */ memset((void *)filesystem_operation_table, 0, sizeof(filesystem_operation_table)); @@ -92,6 +92,8 @@ int dfs_init(void) } #endif + init_ok = RT_TRUE; + return 0; } INIT_PREV_EXPORT(dfs_init); @@ -505,13 +507,13 @@ struct dfs_fdtable* dfs_fdtable_get(void) { struct dfs_fdtable *fdt; #ifdef RT_USING_LWP - struct rt_lwp *lwp; + struct rt_lwp *lwp; - lwp = (struct rt_lwp *)rt_thread_self()->user_data; + lwp = (struct rt_lwp *)rt_thread_self()->user_data; if (lwp) - fdt = &lwp->fdt; - else - fdt = &_fdtab; + fdt = &lwp->fdt; + else + fdt = &_fdtab; #else fdt = &_fdtab; #endif diff --git a/components/net/lwip-2.0.2/src/arch/sys_arch.c b/components/net/lwip-2.0.2/src/arch/sys_arch.c index 316b970048cc42a457a20aac5eebf7e275fda753..97d962e63e8fafbc68498792fa7349e58e10fc1b 100644 --- a/components/net/lwip-2.0.2/src/arch/sys_arch.c +++ b/components/net/lwip-2.0.2/src/arch/sys_arch.c @@ -98,7 +98,7 @@ static void tcpip_init_done_callback(void *arg) /* leave critical */ rt_exit_critical(); - LOCK_TCPIP_CORE(); + LOCK_TCPIP_CORE(); netif_add(ethif->netif, &ipaddr, &netmask, &gw, ethif, netif_device_init, tcpip_input); @@ -121,7 +121,7 @@ static void tcpip_init_done_callback(void *arg) netif_set_link_up(ethif->netif); } - UNLOCK_TCPIP_CORE(); + UNLOCK_TCPIP_CORE(); /* enter critical */ rt_enter_critical(); } @@ -136,18 +136,17 @@ static void tcpip_init_done_callback(void *arg) * LwIP system initialization */ extern int eth_system_device_init_private(void); -static volatile uint8_t init_ok = 0; int lwip_system_init(void) { rt_err_t rc; struct rt_semaphore done_sem; + static rt_bool_t init_ok = RT_FALSE; - if(init_ok) + if (init_ok) { rt_kprintf("lwip system already init.\n"); - return 0; + return 0; } - init_ok = 1; eth_system_device_init_private(); @@ -189,6 +188,8 @@ int lwip_system_init(void) #endif rt_kprintf("lwIP-%d.%d.%d initialized!\n", LWIP_VERSION_MAJOR, LWIP_VERSION_MINOR, LWIP_VERSION_REVISION); + init_ok = RT_TRUE; + return 0; } INIT_PREV_EXPORT(lwip_system_init);