Navigation


Changeset 767:c47c16436f71 in freeDiameter for extensions


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:
extensions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/app_radgw/rgw_worker.c

    r741 r767  
    327327        memset(workers, 0, sizeof(workers));
    328328       
    329         CHECK_FCT( fd_fifo_new ( &work_stack ) );
     329        CHECK_FCT( fd_fifo_new ( &work_stack, 30 ) );
    330330       
    331331        /* Create the worker thread(s) */
  • extensions/dbg_interactive/queues.i

    r741 r767  
    4242
    4343%extend fifo {
    44         fifo() {
     44        fifo(int max = 0) {
    4545                struct fifo * q = NULL;
    46                 int ret = fd_fifo_new(&q);
     46                int ret = fd_fifo_new(&q, max);
    4747                if (ret != 0) {
    4848                        DI_ERROR(ret, NULL, NULL);
     
    147147                ret = fd_fifo_tryget($self, &obj);
    148148                if (ret == EWOULDBLOCK) {
    149                         Py_XINCREF(Py_None);
     149                        Py_INCREF(Py_None);
    150150                        return Py_None;
    151151                }
     
    182182                ret = fd_fifo_timedget($self, &obj, &ts);
    183183                if (ret == ETIMEDOUT) {
    184                         Py_XINCREF(Py_None);
     184                        Py_INCREF(Py_None);
    185185                        return Py_None;
    186186                }
Note: See TracChangeset for help on using the changeset viewer.