f6d8ba3c | 25-May-2013 |
Ben Noordhuis |
unix, windows: run expired timers in run-once mode Before this commit, creating an event loop, starting a timer and calling uv_run(UV_RUN_ONCE) blocked in uv_run() until the timer ex
unix, windows: run expired timers in run-once mode Before this commit, creating an event loop, starting a timer and calling uv_run(UV_RUN_ONCE) blocked in uv_run() until the timer expired - but didn't actually run the timer.
show more ...
|
8ef9592a | 29-May-2013 |
Ben Noordhuis |
Merge remote-tracking branch 'origin/v0.10' Conflicts: ChangeLog src/unix/stream.c src/version.c
|
b5cd78ea | 29-May-2013 |
Bert Belder |
test: reflect new idle semantics in test Update the `idle_starvation` test to verify not only that idle callbacks are called, but also that they are called once per loop iteration. |
bc56a4e0 | 29-May-2013 |
Bert Belder |
windows: call idle handles on every loop iteration This mimicks what the unix implementation does: call idle handles on every loop iteration. The guarantee that it runs on every loop ite
windows: call idle handles on every loop iteration This mimicks what the unix implementation does: call idle handles on every loop iteration. The guarantee that it runs on every loop iteration makes it easier to predict and opens up more use cases. Note that the name uv_idle is now a bit of a misnomer. There is actually no guarantee that libuv completely processed all i/o when an iteration ends. The windows implementation at least limits the amount of callbacks processed in a single iteration to avoid some handles getting a disproportionate amount of cpu attention.
show more ...
|
c3964867 | 25-May-2013 |
Sean Silva |
unix: appease warning about non-standard `inline` Clang warns about using `inline`, which is not technically allowed in C89 mode (libuv compiles with `-std=c89`). It's probably best to l
unix: appease warning about non-standard `inline` Clang warns about using `inline`, which is not technically allowed in C89 mode (libuv compiles with `-std=c89`). It's probably best to leave it to the compiler to do the inlining anyway.
show more ...
|
b38c9c10 | 25-May-2013 |
Ben Noordhuis |
unix: remove erroneous asserts As of commit c53fe81, it's legal for write_queue_size > 0 when the write_queue itself is empty. Sounds illogical but it means there are error-state wri
unix: remove erroneous asserts As of commit c53fe81, it's legal for write_queue_size > 0 when the write_queue itself is empty. Sounds illogical but it means there are error-state write requests in the write_completed_queue that will touch up the write_queue_size on the next tick of the event loop. Remove a few stray asserts that still checked for the old situation.
show more ...
|
636a13b8 | 23-May-2013 |
Ben Noordhuis |
unix: fix stream refcounting buglet Fix a buglet where uv_read_stop() would mark the handle as stopped even when there are in-progress write requests. This bug is unlikely to ha
unix: fix stream refcounting buglet Fix a buglet where uv_read_stop() would mark the handle as stopped even when there are in-progress write requests. This bug is unlikely to have affected anyone, the only case where it has a user-visible effect is when: a) the handle has been stopped for reading but not writing, and b) it's the last active handle in the event loop's pollset If both conditions are met, it's possible for the event loop to terminate prematurely. This reapplies commit 80f2f82 which was temporarily reverted in fe7b154 because it was making a lot of node.js tests fail on OS X with the following assertion: Assertion failed: (!uv__is_active(handle)), function uv__finish_close, file ../../deps/uv/src/unix/core.c, line 165. Expecting that the handle is inactive when the state is UV_CLOSING turns out to be a bad assumption: it's possible that the handle is executing (for example) a shutdown request when uv__finish_close() is called. That's okay, uv__stream_destroy() takes care of that. The issue wasn't specific to OS X, it was just more visible on that platform. (Slow) debug builds on Linux exhibited the same behavior.
show more ...
|
7d5024e7 | 24-May-2013 |
isaacs |
Now working on v0.10.9 |
0f39be12 | 24-May-2013 |
isaacs |
2013.05.25, Version 0.10.8 (Stable) Changes since version 0.10.7: * windows: make uv_spawn not fail under job control (Bert Belder) * darwin: assume CFRunLoopStop() isn't t
2013.05.25, Version 0.10.8 (Stable) Changes since version 0.10.7: * windows: make uv_spawn not fail under job control (Bert Belder) * darwin: assume CFRunLoopStop() isn't thread-safe (Fedor Indutny) * win: fix UV_EALREADY incorrectly set (Bert Belder) * darwin: make two uv__cf_*() functions static (Ben Noordhuis) * darwin: task_info() cannot fail (Ben Noordhuis) * unix: add mapping for ENETDOWN (Ben Noordhuis) * unix: implicitly signal write errors to libuv user (Ben Noordhuis) * unix: fix assert on signal pipe overflow (Bert Belder) * unix: turn off POLLOUT after stream connect (Ben Noordhuis)
show more ...
|
fe7b1544 | 24-May-2013 |
Ben Noordhuis |
Revert "unix: fix stream refcounting buglet" This change is making 45 out of 527 node.js tests fail on OS X with the following assertion: Assertion failed: (!uv__is_active(h
Revert "unix: fix stream refcounting buglet" This change is making 45 out of 527 node.js tests fail on OS X with the following assertion: Assertion failed: (!uv__is_active(handle)), function uv__finish_close, file ../../deps/uv/src/unix/core.c, line 165. It's likely a manifestation of a bug elsewhere but, because there's a new node.js release going out tonight, I'm reverting it for now. This reverts commit 80f2f826bf90b84e659321c0b7fd8af419acb85e. Conflicts: src/unix/stream.c
show more ...
|
41468050 | 23-May-2013 |
Ben Noordhuis |
unix: turn off POLLOUT after stream connect Clear the POLLOUT flag after we're done connecting. Not doing so isn't really harmful but it may cause the event loop to wake up more often
unix: turn off POLLOUT after stream connect Clear the POLLOUT flag after we're done connecting. Not doing so isn't really harmful but it may cause the event loop to wake up more often than it has to.
show more ...
|
80f2f826 | 23-May-2013 |
Ben Noordhuis |
unix: fix stream refcounting buglet Fix a buglet where uv_read_stop() would mark the handle as stopped even when there are in-progress write requests. This bug is unlikely to ha
unix: fix stream refcounting buglet Fix a buglet where uv_read_stop() would mark the handle as stopped even when there are in-progress write requests. This bug is unlikely to have affected anyone, the only case where it has a user-visible effect is when: a) the handle has been stopped for reading but not writing, and b) it's the last active handle in the event loop's pollset If both conditions are met, it's possible for the event loop to terminate prematurely.
show more ...
|
c5d570dd | 23-May-2013 |
Bert Belder |
unix: fix assert on signal pipe overflow An incorrect assert() statement was causing libuv to crash when writing to an internal signal pipe would result in EAGAIN/EWOULDBLOCK. T
unix: fix assert on signal pipe overflow An incorrect assert() statement was causing libuv to crash when writing to an internal signal pipe would result in EAGAIN/EWOULDBLOCK. This commit doesn't solve the underlying issue that the signal pipe can overflow. This should fix joyent/node#5538
show more ...
|
c53fe815 | 22-May-2013 |
Ben Noordhuis |
unix: implicitly signal write errors to libuv user Fix an infinite loop in the example below when the stream encounters an EPIPE/ECONNRESET/etc. error: // keep writing until
unix: implicitly signal write errors to libuv user Fix an infinite loop in the example below when the stream encounters an EPIPE/ECONNRESET/etc. error: // keep writing until we start buffering while (stream->write_queue_size == 0) { uv_write_t* req = make_write_req(); uv_buf_t buf = uv_buf_init("PING", 4); uv_write(req, stream, &buf, 1, write_cb); } uv_write() does not return an error code on write errors, the error is only reported to the callback. Before this commit, uv_write() left stream->write_queue_size untouched on error, meaning the caller had no way to find out about that error until the next tick of the event loop - which in the example above leads to an infinite loop because that next tick is indefinitely postponed. This commit works around that at the cost of some added internal complexity. Fixes joyent/node#5516.
show more ...
|
739a5b25 | 20-May-2013 |
Ben Noordhuis |
unix: add mapping for ENETDOWN |
a1cb52a3 | 20-May-2013 |
Ben Noordhuis |
darwin: task_info() cannot fail And if it does: assert, don't return errno. It's a mach function, it doesn't set errno. |
e515d715 | 17-May-2013 |
Ben Noordhuis |
darwin: make two uv__cf_*() functions static |
7dbb974f | 18-May-2013 |
Bert Belder |
Merge branch 'v0.10' Conflicts: src/unix/darwin.c
|
db7dc689 | 18-May-2013 |
Bert Belder |
win: fix UV_EALREADY incorrectly set UV_EALREADY itself is already a libuv error, it should be set with uv__set_artifical_error and not with uv__set_sys_error. Closes #802 |
d5fa633e | 17-May-2013 |
Fedor Indutny |
darwin: assume CFRunLoopStop() isn't thread-safe Use signaling mechanism for loop termination, because CFRunLoopStop() is most likely not a thread-safe function and invoking it from othe
darwin: assume CFRunLoopStop() isn't thread-safe Use signaling mechanism for loop termination, because CFRunLoopStop() is most likely not a thread-safe function and invoking it from other thread may sometimes result in a "dead-lock". fix #799
show more ...
|
4f61ab20 | 16-May-2013 |
Bert Belder |
windows: make uv_spawn not fail under job control * Fix a potential issue introduced with 415f4d3, namely that uv_spawn can fail when the current process is under job control. This wou
windows: make uv_spawn not fail under job control * Fix a potential issue introduced with 415f4d3, namely that uv_spawn can fail when the current process is under job control. This would happen on Windows versions that don't support nested jobs (versions prior to Windows 8 / Server 2012). * Change the `uv__init_global_job_handle` function signature to match what `uv_once` expects. * Add a bunch of comments that clarify how we're using job control, and how we're dealing with job control that might be established by our parent process.
show more ...
|
adc79ba2 | 15-May-2013 |
Bert Belder |
Now working on v0.11.4 |
0a48c05b | 15-May-2013 |
Bert Belder |
2013.05.16, Version 0.11.3 (Unstable) Changes since version 0.11.2: * unix: clean up uv_accept() (Ben Noordhuis) * unix: remove errno preserving code (Ben Noordhuis)
2013.05.16, Version 0.11.3 (Unstable) Changes since version 0.11.2: * unix: clean up uv_accept() (Ben Noordhuis) * unix: remove errno preserving code (Ben Noordhuis) * darwin: fix ios build, don't require ApplicationServices (Ben Noordhuis) * windows: kill child processes when the parent dies (Bert Belder) * build: set soname in shared library (Ben Noordhuis) * build: make `make test` link against .a again (Ben Noordhuis) * build: only set soname on shared object builds (Timothy J. Fontaine) * build: convert predefined $PLATFORM to lower case (Elliot Saba) * test: fix process_title failing on linux (Miroslav Bajtoš) * test, sunos: disable process_title test (Miroslav Bajtoš) * test: add error logging to tty unit test (Miroslav Bajtoš)
show more ...
|
961202d1 | 15-May-2013 |
Bert Belder |
Merge branch 'v0.10' Conflicts: ChangeLog config-unix.mk src/version.c
|
13496e9c | 14-May-2013 |
Bert Belder |
Now working on v0.10.8 |