changeset 163:547f30e9a8ae

Re-enable zombie peers on new connections
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 26 Jan 2010 13:43:19 +0900
parents 79768bf7d208
children 6f6fd233b923
files freeDiameter/peers.c
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/freeDiameter/peers.c	Tue Jan 26 13:23:03 2010 +0900
+++ b/freeDiameter/peers.c	Tue Jan 26 13:43:19 2010 +0900
@@ -458,6 +458,14 @@
 		
 		/* Start the PSM, which will receive the event bellow */
 		CHECK_FCT_DO( ret = fd_psm_begin(peer), goto out );
+	} else {
+		/* Check if the peer is in zombie state */
+		if (peer->p_hdr.info.runtime.pir_state == STATE_ZOMBIE) {
+			/* Re-activate the peer */
+			peer->p_flags.pf_responder = 1;
+			peer->p_hdr.info.runtime.pir_state = STATE_NEW;
+			CHECK_FCT_DO( ret = fd_psm_begin(peer), goto out );
+		}
 	}
 		
 	/* Send the new connection event to the PSM */
"Welcome to our mercurial repository"