Fix permission denied on open dev node /dev/rfcomm 64/8564/1 accepted/tizen/20130912.081752 accepted/tizen/20130912.085012 accepted/tizen/20130912.093642 submit/tizen/20130826.082059 submit/tizen/20130912.075604
authorVictor Hakoun <victor.hakoun@eurogiciel.fr>
Fri, 23 Aug 2013 14:02:49 +0000 (16:02 +0200)
committerVictor Hakoun <victor.hakoun@eurogiciel.fr>
Fri, 23 Aug 2013 14:02:49 +0000 (16:02 +0200)
The permission denied issue was due to early access to the /dev/rfcomm.
By adding a sleep time (10ms) and 3 retry, bt-service can now open this dev
node.

- Fix part of TZPC-3937

Signed-off-by: Victor Hakoun <victor.hakoun@eurogiciel.fr>
bt-service/bt-service-rfcomm-client.c
packaging/bluetooth-frwk.changes

index 5bb64c3..96b419f 100644 (file)
@@ -66,8 +66,14 @@ static bt_rfcomm_info_t *__bt_rfcomm_get_client_info(int socket_fd)
 static int __bt_rfcomm_open_socket(char *dev_node)
 {
        int socket_fd;
-
-       socket_fd = open(dev_node, O_RDWR | O_NOCTTY);
+       int retryCounter = 0;
+       int MAX_RETRY = 3;
+
+       do {
+               socket_fd = open(dev_node, O_RDWR | O_NOCTTY);
+           if (socket_fd < 0) retryCounter++;
+           usleep(10*1000);
+       } while ((retryCounter < MAX_RETRY) && (socket_fd < 0));
 
        if (socket_fd < 0) {
                BT_ERR("\nCan't open TTY : %s(%d)",dev_node, errno);
index cce88a5..ece8fcc 100644 (file)
@@ -1,3 +1,6 @@
+* Fri Aug 23 2013 Victor Hakoun <victor.hakoun@eurogiciel.fr> submit/tizen/20130822.094138@03300bb
+- Fix permission denied on open dev node /dev/rfcomm
+
 * Wed Aug 21 2013 Victor Hakoun <victor.hakoun@eurogiciel.fr> submit/tizen/20130809.082724@2a3c24d
 - Start bt-service with systemd user with multi-user option