net: fix bogus errno reporting

_listen2() emits the error on the next tick. The errno value may have changed
by then.
This commit is contained in:
Ben Noordhuis 2012-07-12 16:56:42 +02:00
Родитель c6bb361b84
Коммит 5d97d72753
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -911,10 +911,11 @@ Server.prototype._listen2 = function(address, port, addressType, backlog, fd) {
r = self._handle.listen(backlog || 511);
if (r) {
var ex = errnoException(errno, 'listen');
self._handle.close();
self._handle = null;
process.nextTick(function() {
self.emit('error', errnoException(errno, 'listen'));
self.emit('error', ex);
});
return;
}