libeio bugfix part 3
authorRyan Dahl <ry@tinyclouds.org>
Wed, 6 Jan 2010 09:17:58 +0000 (10:17 +0100)
committerRyan Dahl <ry@tinyclouds.org>
Wed, 6 Jan 2010 09:27:31 +0000 (01:27 -0800)
commitf80cc69c236fdfbc2dc161887d798b92c5119e31
tree42a1d237699feac3f2f873a99309750a2dc3317a
parent3f3977283419fe81e09aa23b91e59de959a84abd
libeio bugfix part 3

Finally (hopefully) fix the issue that Felix reported. It's only appearing
on macintosh (test/mjsunit/test-eio-race3.js)

The trick/hack is to call eio_poll() again before reentering the event loop.

Additionally this commit implements a more complex method of calling
eio_poll(), occasionally dropping to an ev_idle watcher.

See also:
3f3977283419fe81e09aa23b91e59de959a84abd
http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
http://groups.google.com/group/nodejs/browse_thread/thread/9f8db11c792a68bb/a89705f68971f53c
src/node.cc
test/mjsunit/test-eio-race2.js [new file with mode: 0644]
test/mjsunit/test-eio-race3.js [new file with mode: 0644]
test/mjsunit/test-many-parallel-eio-jobs.js [deleted file]