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.
This commit is contained in:
Gustavo Padovan 2012-08-14 04:14:32 -03:00 committed by Daniel Wagner
parent 8181ee6b95
commit 371b886bab
1 changed files with 7 additions and 0 deletions

View File

@ -28,6 +28,7 @@
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <glib.h>
@ -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: