session: Ignore non emergency session dis/connect()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Mon, 18 Apr 2011 09:25:13 +0000 (11:25 +0200)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Tue, 19 Apr 2011 09:30:46 +0000 (11:30 +0200)
src/session.c

index cb18d45..4d41ffc 100644 (file)
@@ -791,6 +791,10 @@ static DBusMessage *connect_session(DBusConnection *conn,
        DBG("session %p", session);
 
        info->connect = TRUE;
+
+       if (ecall_session != NULL && ecall_session != session)
+               return __connman_error_failed(msg, EBUSY);
+
        session->info_dirty = TRUE;
 
        g_timeout_add_seconds(0, session_cb, session);
@@ -807,6 +811,10 @@ static DBusMessage *disconnect_session(DBusConnection *conn,
        DBG("session %p", session);
 
        info->connect = FALSE;
+
+       if (ecall_session != NULL && ecall_session != session)
+               return __connman_error_failed(msg, EBUSY);
+
        session->info_dirty = TRUE;
 
        g_timeout_add_seconds(0, session_cb, session);