[tor-commits] [tor/master] Merge remote-tracking branch 'origin/maint-0.2.4'

nickm at torproject.org nickm at torproject.org
Tue Jun 18 14:25:57 UTC 2013


commit b5d1fded3dfa836ef1f45f6acb74971f75d5caa9
Merge: 2974c83 efa342f
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Jun 18 10:25:30 2013 -0400

    Merge remote-tracking branch 'origin/maint-0.2.4'

 changes/bug9002       |    4 ++
 changes/bug9063_redux |   15 ++++++++
 doc/tor.1.txt         |    9 +++++
 src/common/mempool.h  |    2 +
 src/or/circuitlist.c  |  102 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/or/circuitlist.h  |    1 +
 src/or/config.c       |    8 ++++
 src/or/or.h           |    4 ++
 src/or/relay.c        |   33 +++++++++++++++-
 src/or/relay.h        |    1 +
 src/or/rendcommon.c   |   25 +++++++++++-
 11 files changed, 200 insertions(+), 4 deletions(-)

diff --cc src/or/circuitlist.h
index 94887d5,874f68c..03f678c
--- a/src/or/circuitlist.h
+++ b/src/or/circuitlist.h
@@@ -63,9 -61,7 +63,10 @@@ int circuit_count_pending_on_channel(ch
  void assert_cpath_layer_ok(const crypt_path_t *cp);
  void assert_circuit_ok(const circuit_t *c);
  void circuit_free_all(void);
+ void circuits_handle_oom(size_t current_allocation);
  
 +void channel_note_destroy_pending(channel_t *chan, circid_t id);
 +void channel_note_destroy_not_pending(channel_t *chan, circid_t id);
 +
  #endif
  
diff --cc src/or/relay.c
index 38776bc,3138c5e..251d3ff
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@@ -2597,8 -2534,14 +2620,14 @@@ append_cell_to_circuit_queue(circuit_t 
    }
  #endif
  
 -  cell_queue_append_packed_copy(queue, cell, chan->wide_circ_ids);
 +  cell_queue_append_packed_copy(queue, cell, chan->wide_circ_ids, 1);
  
+   if (PREDICT_UNLIKELY(cell_queues_check_size())) {
+     /* We ran the OOM handler */
+     if (circ->marked_for_close)
+       return;
+   }
+ 
    /* If we have too many cells on the circuit, we should stop reading from
     * the edge streams for a while. */
    if (!streams_blocked && queue->n >= CELL_QUEUE_HIGHWATER_SIZE)



More information about the tor-commits mailing list