Navigation


Changeset 454:f1484823cb4a in freeDiameter for freeDiameter/peers.c


Ignore:
Timestamp:
Jul 29, 2010, 4:11:12 PM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Small hack which might spear some concurrency problems and is quite harmless

File:
1 edited

Legend:

Unmodified
Added
Removed
  • freeDiameter/peers.c

    r403 r454  
    279279                struct fd_peer * peer = (struct fd_peer *)li;
    280280               
     281                fd_cpu_flush_cache();
    281282                if (peer->p_hdr.info.runtime.pir_state != STATE_ZOMBIE) {
    282283                        CHECK_FCT_DO( fd_psm_terminate(peer, "REBOOTING"), /* continue */ );
     
    306307                for (li = fd_g_peers.next; li != &fd_g_peers; li = li->next) {
    307308                        struct fd_peer * peer = (struct fd_peer *)li;
     309                        fd_cpu_flush_cache();
    308310                        if (peer->p_hdr.info.runtime.pir_state == STATE_ZOMBIE) {
    309311                                li = li->prev; /* to avoid breaking the loop */
     
    462464        } else {
    463465                /* Check if the peer is in zombie state */
     466                fd_cpu_flush_cache();
    464467                if (peer->p_hdr.info.runtime.pir_state == STATE_ZOMBIE) {
    465468                        /* Re-activate the peer */
Note: See TracChangeset for help on using the changeset viewer.