From 371b886babde22618e584db73319a7420f60ee88 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Tue, 14 Aug 2012 04:14:32 -0300 Subject: [PATCH] dundee: explicit shutdown the bluetooth file descriptor If we do not shut it down the fd can remain opened. This make impossible to try a re-connect: busy is returned in this case. We call shutdown here to make sure that the link is always closed. --- dundee/bluetooth.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dundee/bluetooth.c b/dundee/bluetooth.c index e2e2bcab..9ddc72c9 100644 --- a/dundee/bluetooth.c +++ b/dundee/bluetooth.c @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -44,6 +45,8 @@ struct bluetooth_device { char *address; char *name; + int fd; + DBusPendingCall *call; }; @@ -54,6 +57,8 @@ static void bt_disconnect(struct dundee_device *device, DBG("%p", bt); + shutdown(bt->fd, SHUT_RDWR); + CALLBACK_WITH_SUCCESS(cb, data); } @@ -93,6 +98,8 @@ static void bt_connect_reply(DBusPendingCall *call, gpointer user_data) goto done; } + bt->fd = fd; + CALLBACK_WITH_SUCCESS(cb, fd, cbd->data); done: