From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Claudio Takahasi To: linux-bluetooth@vger.kernel.org Cc: Claudio Takahasi Subject: [PATCH Bluez 09/11] Add an interval between connection attempts Date: Tue, 4 Oct 2011 15:32:04 -0300 Message-Id: <1317753124-14122-1-git-send-email-claudio.takahasi@openbossa.org> In-Reply-To: <1317059308-20038-10-git-send-email-claudio.takahasi@openbossa.org> References: <1317059308-20038-10-git-send-email-claudio.takahasi@openbossa.org> Sender: linux-bluetooth-owner@vger.kernel.org List-ID: For connection attempts to the same remote device, add 5 seconds interval until the next connect attempt. At the moment, the behaviour depends on if address is found in the advertising kernel cache only. Passive scanning kernel patches are not upstream yet. LE scanning will be executed in background during a short period of time until it finds the address or EHOSTDOWN is returned to the connection attempt. --- src/device.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/src/device.c b/src/device.c index 4317a33..0b45880 100644 --- a/src/device.c +++ b/src/device.c @@ -66,6 +66,8 @@ #define DISCONNECT_TIMER 2 #define DISCOVERY_TIMER 2 +#define AUTO_CONNECTION_INTERVAL 5 /* Next connection attempt */ + /* When all services should trust a remote device */ #define GLOBAL_TRUST "[all]" @@ -1791,8 +1793,9 @@ static void att_connect_cb(GIOChannel *io, GError *gerr, gpointer user_data) device->browse = NULL; browse_request_free(req, TRUE); } else if (device->auto_connect) - device->auto_id = g_idle_add_full( + device->auto_id = g_timeout_add_seconds_full( G_PRIORITY_DEFAULT_IDLE, + AUTO_CONNECTION_INTERVAL, att_connect, device, att_connect_dispatched); -- 1.7.7