mbm: Remove data->reopen_source timer before setting up new one
authorTomasz Gregorek <tomasz.gregorek@stericsson.com>
Fri, 14 Jan 2011 13:35:15 +0000 (14:35 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 14 Jan 2011 13:40:47 +0000 (14:40 +0100)
Check if there is a timer running already and remove it before
creating a new one. This will prevent calling reopen_callback() more
than if mbm_disconnect() is called more than once.

plugins/mbm.c

index 38583ac..4048f6a 100644 (file)
@@ -351,6 +351,9 @@ static void mbm_disconnect(gpointer user_data)
        data->data_port = NULL;
 
        /* Waiting for the +CGEV: ME DEACT might also work */
+       if (data->reopen_source > 0)
+               g_source_remove(data->reopen_source);
+
        data->reopen_source = g_timeout_add_seconds(1, reopen_callback, modem);
 }