From: Pekka Riikonen Date: Wed, 17 Nov 2004 12:27:18 +0000 (+0000) Subject: CLOSE marks backup router as no-backup-resuming in reconnect. X-Git-Tag: silc.server.0.9.19~60 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=a4485b7833031b848acf649771c983d4caf4be2a;p=silc.git CLOSE marks backup router as no-backup-resuming in reconnect. --- diff --git a/apps/silcd/command.c b/apps/silcd/command.c index 1b888771..c52d7098 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -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; diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 3fc7db09..f2d1442f 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -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--; diff --git a/apps/silcd/server_backup.c b/apps/silcd/server_backup.c index 8c2e3d03..612add49 100644 --- a/apps/silcd/server_backup.c +++ b/apps/silcd/server_backup.c @@ -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 {