# HG changeset patch # User Sebastien Decugis # Date 1259730015 -32400 # Node ID 56f0b629e036fb09240752590f392a1c6fd488b0 # Parent d273a2ce19c8e521b46abcfe762aad01b8df3ce4 Fix race condition diff -r d273a2ce19c8 -r 56f0b629e036 freeDiameter/p_dp.c --- a/freeDiameter/p_dp.c Wed Dec 02 10:25:59 2009 +0900 +++ b/freeDiameter/p_dp.c Wed Dec 02 14:00:15 2009 +0900 @@ -163,12 +163,12 @@ /* Save the value also in the peer */ peer->p_hdr.info.runtime.pir_lastDC = val.u32; - /* Now send this message */ - CHECK_FCT( fd_out_send(&msg, NULL, peer) ); - /* Update the peer state and timer */ CHECK_FCT( fd_psm_change_state(peer, STATE_CLOSING) ); fd_psm_next_timeout(peer, 0, DPR_TIMEOUT); + /* Now send the DPR message */ + CHECK_FCT( fd_out_send(&msg, NULL, peer) ); + return 0; }