diff freeDiameter/p_psm.c @ 43:2db15632a63d

Added a large part of connection establishment logic, to test
author Sebastien Decugis <sdecugis@nict.go.jp>
date Wed, 25 Nov 2009 19:07:09 +0900
parents f4d94bc65e1f
children 204718b0fa54
line wrap: on
line diff
--- a/freeDiameter/p_psm.c	Thu Nov 19 17:51:23 2009 +0900
+++ b/freeDiameter/p_psm.c	Wed Nov 25 19:07:09 2009 +0900
@@ -249,15 +249,7 @@
 	
 	fd_p_cnx_abort(peer, terminate);
 	
-	if (peer->p_cnxctx) {
-		fd_cnx_destroy(peer->p_cnxctx);
-		peer->p_cnxctx = NULL;
-	}
-	
-	if (peer->p_initiator) {
-		fd_cnx_destroy(peer->p_initiator);
-		peer->p_initiator = NULL;
-	}
+	fd_p_ce_clear_cnx(peer, NULL);
 	
 	if (peer->p_receiver) {
 		fd_cnx_destroy(peer->p_receiver);
@@ -593,7 +585,7 @@
 	if (event == FDEVP_CNX_ESTABLISHED) {
 		struct cnxctx * cnx = ev_data;
 		
-		/* Release the resources of the thread */
+		/* Release the resources of the connecting thread */
 		CHECK_POSIX_DO( pthread_join( peer->p_ini_thr, NULL), /* ignore, it is not a big deal */);
 		peer->p_ini_thr = (pthread_t)NULL;
 		
@@ -641,7 +633,7 @@
 				fd_p_cnx_abort(peer, 0);
 				
 				/* Handle receiver side */
-				CHECK_FCT_DO( fd_p_ce_winelection(peer), goto psm_end );
+				CHECK_FCT_DO( fd_p_ce_process_receiver(peer), goto psm_end );
 				break;
 		}
 	}
"Welcome to our mercurial repository"