Merge pull request #1299 from matt335672/clear-drives-on-disconnect
Reconnecting to session causes duplicate drive entries in fuse fs
This commit is contained in:
commit
dea3408a8a
@ -492,7 +492,6 @@ xfuse_init(void)
|
||||
int
|
||||
xfuse_deinit(void)
|
||||
{
|
||||
xfuse_deinit_xrdp_fs();
|
||||
fifo_deinit(&g_fifo_opendir);
|
||||
|
||||
if (g_ch != 0)
|
||||
@ -520,6 +519,8 @@ xfuse_deinit(void)
|
||||
g_req_list = 0;
|
||||
}
|
||||
|
||||
xfuse_deinit_xrdp_fs();
|
||||
|
||||
g_xfuse_inited = 0;
|
||||
return 0;
|
||||
}
|
||||
@ -969,6 +970,28 @@ static int xfuse_init_xrdp_fs(void)
|
||||
|
||||
static int xfuse_deinit_xrdp_fs(void)
|
||||
{
|
||||
fuse_ino_t i;
|
||||
struct xrdp_inode *xinode;
|
||||
|
||||
if (g_xrdp_fs.inode_table != NULL)
|
||||
{
|
||||
for (i = FIRST_INODE; i < g_xrdp_fs.num_entries; ++i)
|
||||
{
|
||||
if ((xinode = g_xrdp_fs.inode_table[i]) != NULL)
|
||||
{
|
||||
g_xrdp_fs.inode_table[i] = NULL;
|
||||
log_debug("Freeing %s",xinode->name);
|
||||
free(xinode);
|
||||
}
|
||||
}
|
||||
free(g_xrdp_fs.inode_table);
|
||||
g_xrdp_fs.inode_table = NULL;
|
||||
}
|
||||
|
||||
g_xrdp_fs.max_entries = 0;
|
||||
g_xrdp_fs.num_entries = 0;
|
||||
g_xrdp_fs.next_node = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user