778144f0 | 17-Sep-2012 |
Fedor Indutny |
darwin: emit relative path in fsevents |
be2a2176 | 17-Sep-2012 |
Ben Noordhuis |
unix: rethink relaxed accept() approach Benchmarks demonstrated that the idle timer handle approach didn't balance the load quite fair enough, the majority of new connections still ended
unix: rethink relaxed accept() approach Benchmarks demonstrated that the idle timer handle approach didn't balance the load quite fair enough, the majority of new connections still ended up in one or two processes. The new approach voluntarily gives up a scheduler timeslice by calling nanosleep() with a one nanosecond timeout. Why not sched_yield()? Because on Linux (and this is probably true for other Unices as well), sched_yield() only yields if there are other processes running on the same CPU. nanosleep() on the other hand always forces the process to sleep, which gives other processes a chance to accept our pending connections.
show more ...
|
37dc7472 | 17-Sep-2012 |
Ben Noordhuis |
test: fix aliasing warning in dns-server.c |
29f44c75 | 05-Sep-2012 |
Ben Noordhuis |
bench: let client close connection in tcp_multi_accept{2,4,8} |
a8c6da8d | 05-Sep-2012 |
Ben Noordhuis |
bench: add idle delay to tcp_multi_accept{2,4,8} |
b74b1c4c | 05-Sep-2012 |
Ben Noordhuis |
bench: add tcp accept benchmarks |
cc1c1912 | 17-Sep-2012 |
Saúl Ibarra Corretgé |
unix, windows: add uv_tcp_open and uv_udp_open |
c8514b03 | 13-Sep-2012 |
Saúl Ibarra Corretgé |
unix, windows: return error if uv_pipe_open fails |
9a483811 | 14-Aug-2012 |
Ben Noordhuis |
linux: improve /proc/cpuinfo parser Make uv_cpu_info() understand the ARM and MIPS versions of /proc/cpuinfo, it only knew how to deal with the x86 version This commit also fixe
linux: improve /proc/cpuinfo parser Make uv_cpu_info() understand the ARM and MIPS versions of /proc/cpuinfo, it only knew how to deal with the x86 version This commit also fixes a buglet where uv_cpu_info() reported the maximum CPU frequency instead of the actual CPU frequency. That is, before this commit `out/Debug/run-tests platform_output | grep speed | sort | uniq -c` on my system always reported: 8 speed: 3400 Now it reports (for example): 2 speed: 3400 6 speed: 1600 In other words, two CPUs are running at full speed while the others have been scaled back because they're mostly idle. This is a back-port of commit 54bfb66 from the master branch. Fixes #526.
show more ...
|
b2dc1e6d | 14-Sep-2012 |
Bert Belder |
win/tty: reset background brightness when color is set to default |
3d9de13f | 14-Sep-2012 |
Bert Belder |
darwin: fix build when minimum OS X version is specified The OS X version was being checked with the __MAC_OS_X_VERSION_MIN_REQUIRED__ macro, but this value doesn't match the actual SDK
darwin: fix build when minimum OS X version is specified The OS X version was being checked with the __MAC_OS_X_VERSION_MIN_REQUIRED__ macro, but this value doesn't match the actual SDK version when it is overridden with the -mmacosx-version-min command line switch.
show more ...
|
a28f1452 | 14-Sep-2012 |
Bert Belder |
windows: un-break writable tty handles |
5a2988fc | 13-Sep-2012 |
Bert Belder |
windows: remove unnecessary pointer alignment code |
b4a5bfb7 | 13-Sep-2012 |
Bert Belder |
windows: style |
900ad30b | 13-Sep-2012 |
Andrew Paprocki |
aix: add initial platform support for aix using gcc/gxlc Adds initial libuv build/platform support for AIX. Builds work using gcc or the IBM XL C compiler using its gxlc wrapper. Platfor
aix: add initial platform support for aix using gcc/gxlc Adds initial libuv build/platform support for AIX. Builds work using gcc or the IBM XL C compiler using its gxlc wrapper. Platform support is added for uv_hrtime, uv_exepath, uv_get_free_memory, uv_get_total_memory, uv_loadavg, uv_uptime, uv_cpu_info, uv_interface_addresses.
show more ...
|
9aead825 | 13-Sep-2012 |
Bert Belder |
windows: rename UV_HANDLE_CLOSING to UV__HANDLE_CLOSING |
15ba8003 | 05-Sep-2012 |
Leonard Hecker |
windows: support for NULL as uv_queue_work callback This will make uv_queue_work consistent with other functions, where it's possible to omit the callback. I'm pretty sure that this is a
windows: support for NULL as uv_queue_work callback This will make uv_queue_work consistent with other functions, where it's possible to omit the callback. I'm pretty sure that this is already implemented for unix systems, although I didn't test the unix part of uv_queue_work.
show more ...
|
1f9bd995 | 11-Sep-2012 |
Prancesco Pertugio |
Add uv_thread_self. |
2b04bc7a | 13-Sep-2012 |
Ben Noordhuis |
doc: add note about -D_GNU_SOURCE |
b7047d67 | 12-Sep-2012 |
Saúl Ibarra Corretgé |
unix: remove __read_mostly macro It creates trouble with llvm-gcc on OS X. |
Revision tags: node-v0.8.7 |
|
f8e7513a | 13-Aug-2012 |
Fedor Indutny |
darwin: use FSEvents to watch directory changes |
1988f5e5 | 11-Sep-2012 |
Ben Noordhuis |
unix: put child process stdio fds in blocking mode Remove the O_NONBLOCK flag from file descriptors 0-2, most applications don't expect EAGAIN errors when dealing with stdio. |
b5028c5b | 11-Sep-2012 |
Ben Noordhuis |
unix: code cleanup, rename variable |
57e61136 | 08-Sep-2012 |
Shigeki Ohtsu |
unix: support missing api on NetBSD |
4f5c8da1 | 10-Sep-2012 |
Ben Noordhuis |
unix: reimplement accept() EMFILE trick Implement a best effort approach to mitigating accept() EMFILE errors. We have a spare file descriptor stashed away that we close to get belo
unix: reimplement accept() EMFILE trick Implement a best effort approach to mitigating accept() EMFILE errors. We have a spare file descriptor stashed away that we close to get below the EMFILE limit. Next, we accept all pending connections and close them immediately to signal the clients that we're overloaded - and we are, but we still keep on trucking. There is one caveat: it's not reliable in a multi-threaded environment. The file descriptor limit is per process. Our party trick fails if another thread opens a file or creates a socket in the time window between us calling close() and accept(). Fixes #315.
show more ...
|