[PATCH] device: cancel connection request if browsing is cancelled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If a dbus client calls Connect before service discovery is complete,
then attempts to cancel that by calling Disconnect, the original
Connect request would never be completed.

This fixes the bug by cancelling the Connect call upon cancelling
the browse request, which is done when Disconnect is called.
---
 src/device.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/device.c b/src/device.c
index 263f60a..b8247cf 100644
--- a/src/device.c
+++ b/src/device.c
@@ -626,6 +626,12 @@ static void browse_request_cancel(struct browse_req *req)
 
 	attio_cleanup(device);
 
+	if (req->msg && dbus_message_is_method_call(req->msg, DEVICE_INTERFACE,
+								"Connect")) {
+		DBusMessage *reply = btd_error_failed(req->msg, "Cancelled");
+		g_dbus_send_message(dbus_conn, reply);
+	}
+
 	browse_request_free(req);
 }
 
-- 
2.7.4




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux