libeio bugfix: want_poll should be called if breaking on maxreq

Reported by shansen and hassox
http://github.com/ry/node/issues#issue/38

Will send upstream.
This commit is contained in:
Ryan Dahl
2010-01-04 23:26:58 -08:00
parent 933a37cd28
commit 04dd2d51be
2 changed files with 23 additions and 0 deletions

3
deps/libeio/eio.c vendored
View File

@@ -548,6 +548,9 @@ static int etp_poll (void)
}
}
if (want_poll_cb)
want_poll_cb ();
errno = EAGAIN;
return -1;
}

View File

@@ -0,0 +1,20 @@
process.mixin(require("./common"));
var testTxt = path.join(fixturesDir, "x.txt");
var posix = require('posix');
setTimeout(function () {
// put this in a timeout, just so it doesn't get bunched up with the
// require() calls..
N = 30;
for (var i=0; i < N; i++) {
puts("start " + i);
posix.cat(testTxt).addCallback(function(data) {
puts("finish");
}).addErrback(function (e) {
puts("error! " + e);
process.exit(1);
});
}
}, 100);