Mercurial > hg > freeDiameter
diff freeDiameter/peers.c @ 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 | 4356de61174d |
children | 7704fe55bb35 |
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 */