function startListening() {
    if (shouldBind) {
      try {
        bind(self.fd, self.port, self.host);
        listen(self.fd, self.options.backlog);
      } catch(e) {
        self.kill('SIGKILL');
        throw e;
      }
    }
    self.callback && self.callback();
    self.emit('listening');
  }
Start listening, when `shouldBind` is `true` the socket
will be bound, and will start listening for connections.

@param {Boolean} shouldBind
@api private