CLOSE marks backup router as no-backup-resuming in reconnect.
authorPekka Riikonen <priikone@silcnet.org>
Wed, 17 Nov 2004 12:27:18 +0000 (12:27 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Wed, 17 Nov 2004 12:27:18 +0000 (12:27 +0000)
apps/silcd/command.c
apps/silcd/server.c
apps/silcd/server_backup.c

index 1b88877186c9e4f1bb7e38028535125a8919f89a..c52d7098d3e7e71c4af7ee2de40ee235b94c8f52 100644 (file)
@@ -5095,6 +5095,9 @@ SILC_SERVER_CMD_FUNC(close)
   /* Close the connection to the server */
   sock = (SilcSocketConnection)server_entry->connection;
 
+  if (server_entry->server_type == SILC_BACKUP_ROUTER)
+    server->backup_closed = TRUE;
+
   server->backup_noswitch = TRUE;
   if (server->router == server_entry) {
     server->id_entry->router = NULL;
index 3fc7db09c961eb56cf63d6f426fe521cc51a01ed..f2d1442fd1be6e78df5f1eae8cb7230c711944e9 100644 (file)
@@ -2216,11 +2216,11 @@ SILC_TASK_CALLBACK(silc_server_accept_new_connection_final)
       /* Statistics */
       if (ctx->conn_type == SILC_SOCKET_TYPE_SERVER) {
        server->stat.my_servers++;
+       server->stat.servers++;
       } else {
        server->stat.my_routers++;
        server->stat.routers++;
       }
-      server->stat.servers++;
 
       /* Check whether this connection is to be our primary router connection
         if we do not already have the primary route. */
@@ -3598,11 +3598,11 @@ void silc_server_free_sock_user_data(SilcServer server,
        silc_idlist_del_server(server->global_list, user_data);
       if (sock->type == SILC_SOCKET_TYPE_SERVER) {
        server->stat.my_servers--;
+       server->stat.servers--;
       } else {
        server->stat.my_routers--;
        server->stat.routers--;
       }
-      server->stat.servers--;
       if (server->server_type == SILC_ROUTER)
        server->stat.cell_servers--;
 
index 8c2e3d03f5a17f1baa1df5e9f9e509c74f965b40..612add49b02b1c71bb973defb26d3785e1581432 100644 (file)
@@ -905,7 +905,7 @@ SILC_TASK_CALLBACK(silc_server_backup_connected_later)
     SILC_LOG_DEBUG(("Other protocol is running, wait for it to finish"));
     silc_schedule_task_add(server->schedule, 0,
                           silc_server_backup_connected_later,
-                          proto_ctx, 10, 0,
+                          proto_ctx, 15, 0,
                           SILC_TASK_TIMEOUT,
                           SILC_TASK_PRI_NORMAL);
     return;
@@ -1474,7 +1474,7 @@ SILC_TASK_CALLBACK(silc_server_protocol_backup_done)
            /* Start through scheduler */
            silc_schedule_task_add(server->schedule, 0,
                                   silc_server_backup_connected_later,
-                                  proto_ctx, 2, 0,
+                                  proto_ctx, 5, 0,
                                   SILC_TASK_TIMEOUT,
                                   SILC_TASK_PRI_NORMAL);
          } else {