Merge pull request #1602 from aozima/re_initial_dev

add re-initial check.
This commit is contained in:
Bernard Xiong 2018-07-04 07:15:45 +08:00 committed by GitHub
commit 39998e4d89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 1 deletions

View File

@ -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 */

View File

@ -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;

View File

@ -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 */