diff --git a/deps/libeio/eio.c b/deps/libeio/eio.c index 7d54ca97c..9f5369265 100644 --- a/deps/libeio/eio.c +++ b/deps/libeio/eio.c @@ -548,6 +548,9 @@ static int etp_poll (void) } } + if (want_poll_cb) + want_poll_cb (); + errno = EAGAIN; return -1; } diff --git a/test/mjsunit/test-many-parallel-eio-jobs.js b/test/mjsunit/test-many-parallel-eio-jobs.js new file mode 100644 index 000000000..c52c81425 --- /dev/null +++ b/test/mjsunit/test-many-parallel-eio-jobs.js @@ -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); + +