diff freeDiameter/main.c @ 123:960fa8048805

Merged routing and dispatch files for similarities
author Sebastien Decugis <sdecugis@nict.go.jp>
date Wed, 09 Dec 2009 19:02:31 +0900
parents e66a82a739fa
children 0ad5825eccdb
line wrap: on
line diff
--- a/freeDiameter/main.c	Wed Dec 09 17:57:27 2009 +0900
+++ b/freeDiameter/main.c	Wed Dec 09 19:02:31 2009 +0900
@@ -99,8 +99,7 @@
 	CHECK_FCT(  fd_queues_init()  );
 	CHECK_FCT(  fd_msg_init()  );
 	CHECK_FCT(  fd_p_expi_init()  );
-	CHECK_FCT(  fd_disp_init()  );
-	CHECK_FCT(  fd_rt_init()  );
+	CHECK_FCT(  fd_rtdisp_init()  );
 	
 	/* Parse the configuration file */
 	CHECK_FCT( fd_conf_parse() );
@@ -162,18 +161,14 @@
 	
 	/* cleanups */
 	CHECK_FCT_DO( fd_servers_stop(), /* Stop accepting new connections */ );
-	CHECK_FCT_DO( fd_disp_cleanstop(), /* Stop dispatch thread(s) properly (no cancel yet) */ );
+	CHECK_FCT_DO( fd_rtdisp_cleanstop(), /* Stop dispatch thread(s) after a clean loop if possible */ );
 	CHECK_FCT_DO( fd_peer_fini(), /* Stop all connections */ );
-	CHECK_FCT_DO( fd_rt_fini(), /* Stop routing threads */ );
-	CHECK_FCT_DO( fd_disp_fini(), /* Stop dispatch thread */ );
+	CHECK_FCT_DO( fd_rtdisp_fini(), /* Stop routing threads and destroy routing queues */ );
 	
-	CHECK_FCT_DO( fd_ext_fini(), /* Cleaup all extensions */ );
-	TODO("Cleanup queues (dump all remaining messages ?)");
-	CHECK_FCT_DO( fd_rt_cleanup(), /* destroy remaining handlers */ );
-	fd_disp_unregister_all(); /* destroy remaining handlers */
+	CHECK_FCT_DO( fd_ext_fini(), /* Cleanup all extensions */ );
+	CHECK_FCT_DO( fd_rtdisp_cleanup(), /* destroy remaining handlers */ );
 	
-	
-	CHECK_FCT_DO( fd_thr_term(&sig_th), /* continue */ );
+	CHECK_FCT_DO( fd_thr_term(&sig_th), /* reclaim resources of the signal thread */ );
 	
 	gnutls_global_deinit();
 	
"Welcome to our mercurial repository"