Mercurial > hg > freeDiameter
comparison freeDiameter/p_out.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 | 5df55136361b |
children | 7250e91f0662 |
comparison
equal
deleted
inserted
replaced
453:9a8b3178a7a7 | 454:f1484823cb4a |
---|---|
140 int fd_out_send(struct msg ** msg, struct cnxctx * cnx, struct fd_peer * peer, uint32_t flags) | 140 int fd_out_send(struct msg ** msg, struct cnxctx * cnx, struct fd_peer * peer, uint32_t flags) |
141 { | 141 { |
142 TRACE_ENTRY("%p %p %p %x", msg, cnx, peer, flags); | 142 TRACE_ENTRY("%p %p %p %x", msg, cnx, peer, flags); |
143 CHECK_PARAMS( msg && *msg && (cnx || (peer && peer->p_cnxctx))); | 143 CHECK_PARAMS( msg && *msg && (cnx || (peer && peer->p_cnxctx))); |
144 | 144 |
145 fd_cpu_flush_cache(); | |
145 if (peer && (peer->p_hdr.info.runtime.pir_state == STATE_OPEN)) { | 146 if (peer && (peer->p_hdr.info.runtime.pir_state == STATE_OPEN)) { |
146 /* Normal case: just queue for the out thread to pick it up */ | 147 /* Normal case: just queue for the out thread to pick it up */ |
147 CHECK_FCT( fd_fifo_post(peer->p_tosend, msg) ); | 148 CHECK_FCT( fd_fifo_post(peer->p_tosend, msg) ); |
148 | 149 |
149 } else { | 150 } else { |