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 );
"Welcome to our mercurial repository"