X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Fsilcd%2Fserver_backup.c;fp=apps%2Fsilcd%2Fserver_backup.c;h=8f5140c1f779af72302062511e7ce1b448e00043;hp=e460c95d720022afabf2d277f2459eb8a3dcca2e;hb=805fddcf6431e784f9f77114782a90c9d12f9cbe;hpb=faa97fdb56d0b85042a5d0149b73ce7022f04398 diff --git a/apps/silcd/server_backup.c b/apps/silcd/server_backup.c index e460c95d..8f5140c1 100644 --- a/apps/silcd/server_backup.c +++ b/apps/silcd/server_backup.c @@ -786,11 +786,16 @@ SILC_TASK_CALLBACK(silc_server_backup_connected_again) SilcServer server = app_context; SilcServerConfigRouter *primary; + SILC_LOG_DEBUG(("Reconnecting")); + + if (server->server_shutdown) + return; + primary = silc_server_config_get_primary_router(server); if (primary) { if (!silc_server_find_socket_by_host(server, SILC_CONN_ROUTER, primary->host, primary->port)) - silc_server_create_connection(server, FALSE, FALSE, + silc_server_create_connection(server, TRUE, FALSE, primary->host, primary->port, silc_server_backup_connected, context); @@ -810,6 +815,7 @@ void silc_server_backup_connected(SilcServer server, if (!server_entry) { /* Try again */ + SILC_LOG_DEBUG(("Connecting failed")); silc_schedule_task_add_timeout(server->schedule, silc_server_backup_connected_again, context, 5, 0); @@ -840,7 +846,7 @@ SILC_TASK_CALLBACK(silc_server_backup_connect_primary_again) if (primary) { if (!silc_server_find_socket_by_host(server, SILC_CONN_ROUTER, primary->host, primary->port)) - silc_server_create_connection(server, FALSE, FALSE, + silc_server_create_connection(server, TRUE, FALSE, primary->host, primary->port, silc_server_backup_connect_primary, context); @@ -1040,7 +1046,7 @@ SILC_TASK_CALLBACK(silc_server_protocol_backup) SILC_LOG_DEBUG(("Received START (session %d), reconnect to router", ctx->session)); silc_packet_stream_ref(ctx->sock); - silc_server_create_connection(server, FALSE, FALSE, + silc_server_create_connection(server, TRUE, FALSE, primary->host, primary->port, silc_server_backup_connect_primary, ctx->sock);