More client library rewrites (key agreement, plus other).
[silc.git] / lib / silcclient / command.c
index 468ac1bb243e168c552f849ac5980b74bf45c96a..b1d233fc8c1a7f3f0ac6d4ec48104ed7366e8ae1 100644 (file)
@@ -1079,8 +1079,10 @@ SILC_FSM_STATE(silc_client_command_quit_final)
                 0, NULL, conn->callback_context);
 
   /* Signal to close connection */
-  conn->internal->disconnected = TRUE;
-  SILC_FSM_SEMA_POST(&conn->internal->wait_event);
+  if (!conn->internal->disconnected) {
+    conn->internal->disconnected = TRUE;
+    SILC_FSM_SEMA_POST(&conn->internal->wait_event);
+  }
 
   return SILC_FSM_FINISH;
 }