# File lib/raindrops/linux.rb, line 37
  def unix_listener_stats(paths = nil)
    rv = Hash.new { |h,k| h[k.freeze] = Raindrops::ListenStats.new(0, 0) }
    if nil == paths
      paths = [ '[^\n]+' ]
    else
      paths = paths.map do |path|
        path = path.dup
        path.force_encoding(Encoding::BINARY) if defined?(Encoding)
        rv[path]
        Regexp.escape(path)
      end
    end
    paths = /^\w+: \d+ \d+ 00000000 \d+ (\d+)\s+\d+ (#{paths.join('|')})$/n

    # no point in pread since we can't stat for size on this file
    File.read(*PROC_NET_UNIX_ARGS).scan(paths) do |s|
      path = s[-1]
      case s[0].to_i
      when 2 then rv[path].queued += 1
      when 3 then rv[path].active += 1
      end
    end

    rv
  end