Navigation


Changeset 767:c47c16436f71 in freeDiameter for libfdcore


Ignore:
Timestamp:
Oct 24, 2011, 6:43:32 AM (13 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Added a limit on fifo queues to avoid memory exaustion when messages are received faster than handled

Location:
libfdcore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/cnxctx.c

    r740 r767  
    9090
    9191        if (full) {
    92                 CHECK_FCT_DO( fd_fifo_new ( &conn->cc_incoming ), return NULL );
     92                CHECK_FCT_DO( fd_fifo_new ( &conn->cc_incoming, 5 ), return NULL );
    9393        }
    9494
  • libfdcore/config.c

    r740 r767  
    6969       
    7070        CHECK_FCT( fd_dict_init(&fd_g_config->cnf_dict) );
    71         CHECK_FCT( fd_fifo_new(&fd_g_config->cnf_main_ev) );
     71        CHECK_FCT( fd_fifo_new(&fd_g_config->cnf_main_ev, 0) );
    7272       
    7373        /* TLS parameters */
  • libfdcore/p_psm.c

    r740 r767  
    856856       
    857857        /* Create the FIFO for events */
    858         CHECK_FCT( fd_fifo_new(&peer->p_events) );
     858        CHECK_FCT( fd_fifo_new(&peer->p_events, 0) );
    859859       
    860860        /* Create the PSM controler thread */
  • libfdcore/peers.c

    r749 r767  
    7777        fd_list_init(&p->p_actives, p);
    7878        fd_list_init(&p->p_expiry, p);
    79         CHECK_FCT( fd_fifo_new(&p->p_tosend) );
     79        CHECK_FCT( fd_fifo_new(&p->p_tosend, 5) );
    8080        p->p_hbh = lrand48();
    8181       
  • libfdcore/queues.c

    r740 r767  
    4545{
    4646        TRACE_ENTRY();
    47         CHECK_FCT( fd_fifo_new ( &fd_g_incoming ) );
    48         CHECK_FCT( fd_fifo_new ( &fd_g_outgoing ) );
    49         CHECK_FCT( fd_fifo_new ( &fd_g_local ) );
     47        CHECK_FCT( fd_fifo_new ( &fd_g_incoming, 20 ) );
     48        CHECK_FCT( fd_fifo_new ( &fd_g_outgoing, 30 ) );
     49        CHECK_FCT( fd_fifo_new ( &fd_g_local, 25 ) );
    5050        return 0;
    5151}
  • libfdcore/sctps.c

    r740 r767  
    497497                conn->cc_sctps_data.array[i].parent = conn;
    498498                conn->cc_sctps_data.array[i].strid  = i;
    499                 CHECK_FCT( fd_fifo_new(&conn->cc_sctps_data.array[i].raw_recv) );
     499                CHECK_FCT( fd_fifo_new(&conn->cc_sctps_data.array[i].raw_recv, 10) );
    500500        }
    501501       
Note: See TracChangeset for help on using the changeset viewer.