• Evan Hunt's avatar
    refactor tcpquota and pipeline refs; allow special-case overrun in isc_quota · 49394512
    Evan Hunt authored
    - if the TCP quota has been exceeded but there are no clients listening
      for new connections on the interface, we can now force attachment to the
      quota using isc_quota_force(), instead of carrying on with the quota not
      attached.
    - the TCP client quota is now referenced via a reference-counted
      'ns_tcpconn' object, one of which is created whenever a client begins
      listening for new connections, and attached to by members of that
      client's pipeline group. when the last reference to the tcpconn
      object is detached, it is freed and the TCP quota slot is released.
    - reduce code duplication by adding mark_tcp_active() function.
    - convert counters to atomic.
    
    (cherry picked from commit 7e822237)
    49394512
interfacemgr.c 31 KB