]> xenbits.xensource.com Git - people/dstodden/blktap.git/commitdiff
CA-32254: Sort out tapdisk_channel_open complement.
authorDaniel Stodden <daniel.stodden@citrix.com>
Tue, 6 Oct 2009 02:05:27 +0000 (19:05 -0700)
committerDaniel Stodden <daniel.stodden@citrix.com>
Tue, 6 Oct 2009 02:05:27 +0000 (19:05 -0700)
daemon/tapdisk-channel.c

index 6b907acfdfe2d09fd03815b15adaf8439bc08c6b..cd0053f5e47021002a803b1818b3c19695a32706 100644 (file)
@@ -1321,6 +1321,17 @@ mem_fail:
        return -ENOMEM;
 }
 
+static void
+tapdisk_channel_destroy(tapdisk_channel_t *channel)
+{
+       tapdisk_channel_clear_watches(channel);
+       tapdisk_daemon_close_channel(channel);
+       tapdisk_channel_release_info(channel);
+       tapdisk_channel_uninit(channel);
+       free(channel->path);
+       free(channel);
+}
+
 void
 tapdisk_channel_close(tapdisk_channel_t *channel)
 {
@@ -1423,13 +1434,7 @@ tapdisk_channel_reap(tapdisk_channel_t *channel, int status)
                                      WTERMSIG(status));
        }
 
-       tapdisk_channel_close(channel);
-
-       tapdisk_daemon_close_channel(channel);
-       tapdisk_channel_release_info(channel);
-       tapdisk_channel_uninit(channel);
-       free(channel->path);
-       free(channel);
+       tapdisk_channel_destroy(channel);
 }
 
 int