Return-Path: From: Szymon Janc To: John Klug Cc: linux-bluetooth@vger.kernel.org Subject: Re: Profile1 close question Date: Thu, 14 Dec 2017 16:35:44 +0100 Message-ID: <1530610.7dBsjPVAZJ@ix> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi John, On Thursday, 14 December 2017 16:21:32 CET John Klug wrote: > What is holding the connection open is bluetoothd. > > After closing the file descriptor for RFCOMM, there are two file > descriptors in the Bluetooth daemon that are left: > > bluetooth 1406 root 18u sock 0,7 0t0 26587 protocol: > RFCOMM bluetooth 1406 root 19u sock 0,7 0t0 26602 > protocol: RFCOMM > > By terminating the application these go away, but what if I wish to > keep the daemon running? How do I tell the Bluetooth daemon to close > the RFCOMM sockets? I think you need to shutdown() socket. > > On Wed, Dec 13, 2017 at 6:13 PM, John Klug wrote: > > The file descriptor that is placed as a parameter to the NewConnection > > callback does not close the connection when it is called with the OS's > > close. This is using Bluez 5.47 on Linux. > > > > Bluetoothctl still shows the connection as being up, as does the remote. > > > > What method should one use to close the connection? > > > > I am using Python and GObject Introspection. > > > > Before connection: > > rw.py 3983 root 0u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 1u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 2u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 3u unix 0xceaf54a0 0t0 22976 type=STREAM > > rw.py 3983 root 4u a_inode 0,9 0 7 [eventfd] > > rw.py 3983 root 5u a_inode 0,9 0 7 [eventfd] > > > > After Connection: > > NewConnection(/org/bluez/hci0/dev_BC_44_86_56_6B_95, 8) > > > > rw.py 3983 root 0u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 1u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 2u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 3u unix 0xceaf54a0 0t0 22976 type=STREAM > > rw.py 3983 root 4u a_inode 0,9 0 7 [eventfd] > > rw.py 3983 root 5u a_inode 0,9 0 7 [eventfd] > > rw.py 3983 root 8u sock 0,7 0t0 23050 protocol: > > RFCOMM > > > > After Close: > > rw.py 3983 root 0u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 1u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 2u CHR 136,3 0t0 6 /dev/pts/3 > > rw.py 3983 root 3u unix 0xceaf54a0 0t0 22976 type=STREAM > > rw.py 3983 root 4u a_inode 0,9 0 7 [eventfd] > > rw.py 3983 root 5u a_inode 0,9 0 7 [eventfd] > > > > > > Device BC:44:86:56:6B:95 > > ... > > Connected: yes > > -- > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" > in the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- pozdrawiam Szymon Janc