From 7e0db39d85c0540d683231c13b61b8bdc8ca6d4d Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Thu, 24 May 2007 13:17:00 +0000 Subject: serial: close the file descriptor before release the RFCOMM device --- serial/port.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/serial/port.c b/serial/port.c index 22fc0129..c220110c 100644 --- a/serial/port.c +++ b/serial/port.c @@ -146,11 +146,12 @@ static void rfcomm_node_free(struct rfcomm_node *node) dbus_connection_unref(node->conn); if (node->owner) g_free(node->owner); - rfcomm_release(node->id); if (node->io) { g_source_remove(node->io_id); + g_io_channel_close(node->io); g_io_channel_unref(node->io); } + rfcomm_release(node->id); g_free(node); } @@ -173,9 +174,6 @@ static gboolean rfcomm_disconnect_cb(GIOChannel *io, { debug("RFCOMM node %s was disconnected", node->name); - if (cond & (G_IO_ERR | G_IO_HUP)) - g_io_channel_close(io); - name_listener_remove(node->conn, node->owner, (name_cb_t) connection_owner_exited, node); -- cgit