Mercurial > hg > freeDiameter
comparison freeDiameter/p_expiry.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 | a58f0757c06a |
children | ae29bf971f20 |
comparison
equal
deleted
inserted
replaced
453:9a8b3178a7a7 | 454:f1484823cb4a |
---|---|
58 CHECK_FCT_DO( pthread_rwlock_wrlock(&fd_g_peers_rw), goto error ); | 58 CHECK_FCT_DO( pthread_rwlock_wrlock(&fd_g_peers_rw), goto error ); |
59 | 59 |
60 for (li = fd_g_peers.next; li != &fd_g_peers; li = li->next) { | 60 for (li = fd_g_peers.next; li != &fd_g_peers; li = li->next) { |
61 struct fd_peer * peer = (struct fd_peer *)li; | 61 struct fd_peer * peer = (struct fd_peer *)li; |
62 | 62 |
63 fd_cpu_flush_cache(); | |
63 if (peer->p_hdr.info.runtime.pir_state != STATE_ZOMBIE) | 64 if (peer->p_hdr.info.runtime.pir_state != STATE_ZOMBIE) |
64 continue; | 65 continue; |
65 | 66 |
66 if (peer->p_hdr.info.config.pic_flags.persist == PI_PRST_ALWAYS) | 67 if (peer->p_hdr.info.config.pic_flags.persist == PI_PRST_ALWAYS) |
67 continue; /* This peer was not supposed to terminate, keep it in the list for debug */ | 68 continue; /* This peer was not supposed to terminate, keep it in the list for debug */ |