Mercurial > hg > freeDiameter
diff freeDiameter/routing_dispatch.c @ 454:f1484823cb4a
Small hack which might spear some concurrency problems and is quite harmless
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Thu, 29 Jul 2010 16:11:12 +0900 |
parents | 26aafbbc1640 |
children | 7250e91f0662 |
line wrap: on
line diff
--- a/freeDiameter/routing_dispatch.c Thu Jul 29 15:32:08 2010 +0900 +++ b/freeDiameter/routing_dispatch.c Thu Jul 29 16:11:12 2010 +0900 @@ -814,6 +814,7 @@ /* Find the peer corresponding to this name */ CHECK_FCT( fd_peer_getbyid( qry_src, (void *) &peer ) ); + fd_cpu_flush_cache(); if ((!peer) || (peer->p_hdr.info.runtime.pir_state != STATE_OPEN)) { TRACE_DEBUG(INFO, "Unable to forward answer message to peer '%s', deleted or not in OPEN state.", qry_src); fd_msg_dump_walk(INFO, *pmsg); @@ -933,6 +934,7 @@ /* Search for the peer */ CHECK_FCT( fd_peer_getbyid( c->diamid, (void *)&peer ) ); + fd_cpu_flush_cache(); if (peer && (peer->p_hdr.info.runtime.pir_state == STATE_OPEN)) { /* Send to this one */ CHECK_FCT_DO( fd_out_send(pmsg, NULL, peer, 0), continue );