           addressType = 4
         return cb(null, [ip, port, addressType, backlog])
 
+  ##
+  # overrides node's listen method with one that makes me happy
   listen: ->
     # skip this override if possible
     if !@_doNetClusterIntercept.apply(@, arguments)

      return @emit 'error', err if err
      @_netClusterListen.apply(@, portArgs)

##
# provide everything that the net module does
extend(module.exports, net)

# but override the createServer function to use our server
module.exports.createServer = ->
  new Server(arguments[0], arguments[1])


      @._handle = handle
      @._listen2.apply(@, arguments)

  ##
  # whether or not we should intercept the call to listen
  #
  # requirements:
  # * must be a worker in a cluster environment
  # * must be attempting to listen on port 0
  _doNetClusterIntercept: ->
    # only intercept if we're a worker
    if !cluster.isWorker
