joyent/libuv — Issue #328: windows v. linux behavior of uv_unref()'d uv_async_t handle
Author: olsonjeffery
Created: 2012-02-25 01:31:37+00:00
State: open

1. create a new loop
2. do `uv_async_init()` with the loop
3. do `uv_async_send()` with the `new uv_async_t` handle
4. `uv_unref()` the new `uv_async_t` handle
5. do `uv_run()` with the loop
6. results in:
- on windows: loop exits immediately. `uv_async_t` callback is never called
- on linux: `uv_async_t` callback is executed. if new handles are registered in the course of the callback, the loop stays alive. otherwise it dies as above.

Same code. Different platforms. Different behaviors.

Here's a test case:
https://gist.github.com/1904856

Thanks.