Navigation


Changeset 706:4ffbc9f1e922 in freeDiameter for libfdcore/p_out.c


Ignore:
Timestamp:
Feb 9, 2011, 3:26:58 PM (13 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Large UNTESTED commit with the following changes:

  • Improved DiameterIdentity? handling (esp. interationalization issues), and improve efficiency of some string operations in peers, sessions, and dictionary modules (closes #7)
  • Cleanup in the session module to free only unreferenced sessions (#16)
  • Removed fd_cpu_flush_cache(), replaced by more robust alternatives.
  • Improved peer state machine algorithm to counter SCTP multistream race condition.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/p_out.c

    r691 r706  
    109109        {
    110110                char buf[48];
    111                 sprintf(buf, "OUT/%.*s", (int)sizeof(buf) - 5, peer->p_hdr.info.pi_diamid);
     111                snprintf(buf, sizeof(buf), "OUT/%s", peer->p_hdr.info.pi_diamid);
    112112                fd_log_threadname ( buf );
    113113        }
     
    149149        CHECK_PARAMS( msg && *msg && (cnx || (peer && peer->p_cnxctx)));
    150150       
    151         fd_cpu_flush_cache();
    152         if (peer && (peer->p_hdr.info.runtime.pir_state == STATE_OPEN)) {
     151        if (fd_peer_getstate(peer) == STATE_OPEN) {
    153152                /* Normal case: just queue for the out thread to pick it up */
    154153                CHECK_FCT( fd_fifo_post(peer->p_tosend, msg) );
Note: See TracChangeset for help on using the changeset viewer.