updates.
[silc.git] / apps / silcd / server.c
index 32c2ac81de80153b9cf272b7032c3859dd59b399..c00c3ea94495435f9d70e17a5745a6e706bbba80 100644 (file)
@@ -359,6 +359,12 @@ bool silc_server_rehash(SilcServer server)
 
   SILC_LOG_INFO(("Rehashing server"));
 
+  /* Our old config is gone now. We'll unreference our reference made in
+     silc_server_init and then destroy it since we are destroying it
+     underneath the application (layer which called silc_server_init). */
+  silc_server_config_unref(&server->config_ref);
+  silc_server_config_destroy(server->config);
+
   /* Reset the logging system */
   silc_log_quick = TRUE;
   silc_log_flush_all();
@@ -370,12 +376,6 @@ bool silc_server_rehash(SilcServer server)
     return FALSE;
   }
 
-  /* Our old config is gone now. We'll unreference our reference made in
-     silc_server_init and then destroy it since we are destroying it
-     underneath the application (layer which called silc_server_init). */
-  silc_server_config_unref(&server->config_ref);
-  silc_server_config_destroy(server->config);
-
   /* Take new config context */
   server->config = newconfig;
   silc_server_config_ref(&server->config_ref, server->config, server->config);