From 730981ec42f535a285fe3c5316e5931560b17832 Mon Sep 17 00:00:00 2001 From: armink Date: Fri, 13 Jul 2018 09:59:03 +0800 Subject: [components] Update dfs and lwIP 2.0.2 re-initialization process. --- components/dfs/src/dfs.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'components/dfs/src') diff --git a/components/dfs/src/dfs.c b/components/dfs/src/dfs.c index 459ab52793..e73c6e3794 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 -- cgit v1.3.1