diff options
-rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c index 651f02c0b..0f2c2dd80 100755 --- a/libglusterfsclient/src/libglusterfsclient.c +++ b/libglusterfsclient/src/libglusterfsclient.c @@ -67,7 +67,6 @@ int libgf_realpath_loc_fill (libglusterfs_client_ctx_t *ctx, char *link, loc_t *targetloc); static int first_init = 1; -static int first_fini = 1; /* The global list of virtual mount points */ struct { @@ -1712,7 +1711,7 @@ _libgf_umount (char *vmp) struct vmp_entry *entry= NULL; int ret = -1; - entry = libgf_vmp_search_exact_entry (vmp); + entry = _libgf_vmp_search_entry (vmp, LIBGF_VMP_EXACT); if (entry == NULL) { gf_log ("libglusterfsclient", GF_LOG_ERROR, "path (%s) not mounted", vmp); @@ -1727,9 +1726,9 @@ _libgf_umount (char *vmp) } ret = glusterfs_fini (entry->handle); + list_del_init (&entry->list); libgf_free_vmp_entry (entry); - list_del_init (&entry->list); vmplist.entries--; out: @@ -1801,7 +1800,7 @@ glusterfs_reset (void) memset (&vmplock, 0, sizeof (vmplock)); pthread_mutex_init (&vmplock, NULL); - first_fini = first_init = 1; + first_init = 1; } void @@ -1827,29 +1826,16 @@ glusterfs_fini (glusterfs_handle_t handle) FREE (ctx->gf_ctx.cmd_args.volume_name); FREE (ctx->gf_ctx.pool); FREE (ctx->gf_ctx.event_pool); + iobuf_pool_destroy (ctx->gf_ctx.iobuf_pool); ((gf_timer_registry_t *)ctx->gf_ctx.timer)->fin = 1; - /* inode_table_destroy (ctx->itable); */ xlator_graph_fini (ctx->gf_ctx.graph); xlator_tree_free (ctx->gf_ctx.graph); ctx->gf_ctx.graph = NULL; - - /* FREE (ctx->gf_ctx.specfile); */ - - /* TODO complete cleanup of timer */ - /*TODO - * destroy the reply thread - * destroy inode table - * FREE (ctx) - */ + pthread_cancel (ctx->reply_thread); FREE (ctx); - if (first_fini) { - ; - //gf_log_cleanup (); - } - return 0; } |