Fix event loop io tree inconsistency on Windows.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 6 Jul 2014 11:35:32 +0000 (12:35 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sun, 6 Jul 2014 11:43:22 +0000 (12:43 +0100)
commit163773d7107b7726bed24cb1c31b1cecc0d0c239
tree41aaa94a1ee1c02a13cb910506221cd55be31308
parentfcf5b53e785fd191dd951b77ad831fe6ac78dce4
Fix event loop io tree inconsistency on Windows.

On Windows, the event loop io tree uses the Windows Event handle to
differentiate between io_t objects. Unfortunately, there is a bug in
the io_add_event() function (introduced in
2f9a1d4ab5ff51b05a5e8cc41a1528fdeb36c723) as it sets the event after
inserting the object into the tree, resulting in objects appearing in
io_tree out of order.

This can lead to crashes on Windows as the event loop is unable to
determine which events fired.
src/event.c