 
   func createSockets() throws {
     for address in addresses {
-      listeners.append(try address.socket())
+      listeners.append(try address.socket(backlog))
       logger.info("Listening at http://\(address) (\(getpid()))")
     }
   }

  var listeners: [Socket] = []
  var workers: [pid_t: Worker] = [:]
  let timeout: Int

  var numberOfWorkers: Int
  let addresses: [Address]

enum Address : CustomStringConvertible {
  case IP(hostname: String, port: UInt16)

  func socket(backlog: Int32) throws -> Socket {
    switch self {
    case let IP(hostname, port):
      let socket = try Socket()
      try socket.bind(hostname, port: port)
      try socket.listen(backlog)
      // TODO: Set socket non blocking
      return socket
    }
