diff options
| author | Bernard Xiong <[email protected]> | 2018-07-04 07:15:45 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-07-04 07:15:45 +0800 |
| commit | 39998e4d8949d011ffdd9863f2f59c9eec21cffd (patch) | |
| tree | 835abc662368ca7aae3821e092a1bb278cfabe38 /components | |
| parent | 33fb280140c0bd9d235433f393942502d681aee4 (diff) | |
| parent | f3fc141f5f9a99a0f1bb7cd731ee4410b43f32f8 (diff) | |
Merge pull request #1602 from aozima/re_initial_dev
add re-initial check.
Diffstat (limited to 'components')
| -rw-r--r-- | components/dfs/src/dfs.c | 8 | ||||
| -rw-r--r-- | components/finsh/shell.c | 6 | ||||
| -rw-r--r-- | components/net/lwip-2.0.2/src/arch/sys_arch.c | 10 |
3 files changed, 23 insertions, 1 deletions
diff --git a/components/dfs/src/dfs.c b/components/dfs/src/dfs.c index fbc0899d36..459ab52793 100644 --- a/components/dfs/src/dfs.c +++ b/components/dfs/src/dfs.c @@ -55,8 +55,16 @@ 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) + { + rt_kprintf("dfs already init.\n"); + return 0; + } + init_ok = 1; + /* clear filesystem operations table */ memset((void *)filesystem_operation_table, 0, sizeof(filesystem_operation_table)); /* clear filesystem table */ diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 29034bb286..bd6f41cfd5 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -791,6 +791,12 @@ int finsh_system_init(void) rt_err_t result = RT_EOK; rt_thread_t tid; + if(shell) + { + rt_kprintf("finsh shell already init.\n"); + return RT_EOK; + } + #ifdef FINSH_USING_SYMTAB #ifdef __CC_ARM /* ARM C Compiler */ extern const int FSymTab$$Base; 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 c8e1fe1d33..316b970048 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 @@ -136,11 +136,19 @@ 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; - + + if(init_ok) + { + rt_kprintf("lwip system already init.\n"); + return 0; + } + init_ok = 1; + eth_system_device_init_private(); /* set default netif to NULL */ |
