0c76cdb9 | 08-Nov-2013 |
Ben Noordhuis |
linux: handle EPOLLHUP without EPOLLIN/EPOLLOUT Work around an epoll quirk where it sometimes reports just the EPOLLERR or EPOLLHUP event. In order to force the event loop to move forwa
linux: handle EPOLLHUP without EPOLLIN/EPOLLOUT Work around an epoll quirk where it sometimes reports just the EPOLLERR or EPOLLHUP event. In order to force the event loop to move forward, we merge in the read/write events that the watcher is interested in; uv__read() and uv__write() will then deal with the error or hangup in the usual fashion. Fixes #982. This is a back-port of commit 24bfef2 from the master branch.
show more ...
|
24bfef2e | 08-Nov-2013 |
Ben Noordhuis |
linux: handle EPOLLHUP without EPOLLIN/EPOLLOUT Work around an epoll quirk where it sometimes reports just the EPOLLERR or EPOLLHUP event. In order to force the event loop to move forwa
linux: handle EPOLLHUP without EPOLLIN/EPOLLOUT Work around an epoll quirk where it sometimes reports just the EPOLLERR or EPOLLHUP event. In order to force the event loop to move forward, we merge in the read/write events that the watcher is interested in; uv__read() and uv__write() will then deal with the error or hangup in the usual fashion. Fixes #982.
show more ...
|
fd723666 | 08-Nov-2013 |
Ben Noordhuis |
build: add test/test-watcher-cross-stop.c to list Overlooked in the last v0.10 -> master merge. |
b1b931de | 08-Nov-2013 |
Ben Noordhuis |
fsevents: use native character encoding file paths Create file paths with CFStringCreateWithFileSystemRepresentation(), not CFStringCreateWithCString(). Reapplies 3780e12 ("fsev
fsevents: use native character encoding file paths Create file paths with CFStringCreateWithFileSystemRepresentation(), not CFStringCreateWithCString(). Reapplies 3780e12 ("fsevents: support japaneese characters in path") from the v0.10 branch. Was dropped in the last v0.10 -> master merge for failing to apply.
show more ...
|
2bb3326c | 08-Nov-2013 |
Ben Noordhuis |
Merge remote-tracking branch 'origin/v0.10' Drops commit 3780e12 ("fsevents: support japaneese characters in path") for being quite inapplicable to the master branch. Will be reworked
Merge remote-tracking branch 'origin/v0.10' Drops commit 3780e12 ("fsevents: support japaneese characters in path") for being quite inapplicable to the master branch. Will be reworked and applied in a follow-up commit. Conflicts: README.md build.mk src/unix/fsevents.c src/unix/udp.c
show more ...
|
f764bff6 | 31-Oct-2013 |
Alex Crichton |
unix: return exec errors from uv_spawn, not async If spawning a process fails due to an exec() failure (but it succeeded in forking), then this should be considered a spawn failure inste
unix: return exec errors from uv_spawn, not async If spawning a process fails due to an exec() failure (but it succeeded in forking), then this should be considered a spawn failure instead of an asynchronous termination of the process. This allows to check for common exec() failure conditions such as a bad path quickly instead of having to rely on keeping track of the async callback. Additionally, the meaning of the two fields returned in the callback are now exactly what they advertise to be. The process exit argument is not one of two values depending on what happened to the child. Fixes #978.
show more ...
|
991409e4 | 05-Nov-2013 |
Geert Jansen |
build: fix windows smp build with gyp Gyp will try a parallel build if it detect the system has >1 processor. This functionality depends on the Python "multiprocessing" package. The
build: fix windows smp build with gyp Gyp will try a parallel build if it detect the system has >1 processor. This functionality depends on the Python "multiprocessing" package. The multiprocessing package on Windows requires that the top-level module is importable as a module, see: http://docs.python.org/2/library/multiprocessing.html#windows This fixes issue #984. This is a back-port of commit 2445467 from the master branch.
show more ...
|
24454678 | 05-Nov-2013 |
Geert Jansen |
build: fix windows smp build with gyp Gyp will try a parallel build if it detect the system has >1 processor. This functionality depends on the Python "multiprocessing" package. The
build: fix windows smp build with gyp Gyp will try a parallel build if it detect the system has >1 processor. This functionality depends on the Python "multiprocessing" package. The multiprocessing package on Windows requires that the top-level module is importable as a module, see: http://docs.python.org/2/library/multiprocessing.html#windows This fixes issue #984.
show more ...
|
7f44933c | 03-Nov-2013 |
Ben Noordhuis |
include: remove uv_strlcat() and uv_strlcpy() It was pointed out that they don't quite work like their BSD namesakes and they arguably shouldn't have been part of the API anyway.
include: remove uv_strlcat() and uv_strlcpy() It was pointed out that they don't quite work like their BSD namesakes and they arguably shouldn't have been part of the API anyway. Fixes #983.
show more ...
|
05204648 | 01-Nov-2013 |
Ben Noordhuis |
queue: strengthen type checks Rewrite some of the macros in a way that: a) makes them more likely to trigger compile-time errors if used inappropriately, and b
queue: strengthen type checks Rewrite some of the macros in a way that: a) makes them more likely to trigger compile-time errors if used inappropriately, and b) makes C++ compilers happy
show more ...
|
3d2c820a | 30-Oct-2013 |
Ben Noordhuis |
linux: don't turn on SO_REUSEPORT socket option On the BSDs, SO_REUSEPORT is pretty much SO_REUSEADDR with some special casing for IP multicast. When two processes (that don't do multic
linux: don't turn on SO_REUSEPORT socket option On the BSDs, SO_REUSEPORT is pretty much SO_REUSEADDR with some special casing for IP multicast. When two processes (that don't do multicast) bind to the same address, only the last one receives traffic. It allows one to "steal" the bound address from another process. (Both processes have to enable SO_REUSEPORT though, so it only works in a cooperative setting.) On Linux however, it enables port sharing, not stealing - both processes receive a share of the traffic. This is a desirable trait but pre-3.9 kernels don't support the socket option and a libuv program therefore behaves differently with older kernels or on another platform. This is a back-port of commit 9d60f1e from the master branch. Fixes joyent/node#6454.
show more ...
|
3780e128 | 02-Nov-2013 |
Chris Bank |
fsevents: support japaneese characters in path |
f9960184 | 30-Oct-2013 |
Fedor Indutny |
test: add regression test for 29fdb3471 |
29fdb347 | 25-Oct-2013 |
Fedor Indutny |
unix: update events from pevents between polls Watchers could be stopped between two `kevent()`/`epoll_wait()` calls (which may happen in the same loop in `uv__io_poll()`), in such cases
unix: update events from pevents between polls Watchers could be stopped between two `kevent()`/`epoll_wait()` calls (which may happen in the same loop in `uv__io_poll()`), in such cases `watcher->events` could be stale and won't be updated to `watcher->pevents`. Try to use and rely on `watcher->pevents` instead of blindly expecting `watcher->events` to be always correct.
show more ...
|
3c172ea7 | 29-Oct-2013 |
Ben Noordhuis |
build: make systemtap probes work with gyp build The following now works though the used approach is nothing to write home about: $ ./gyp_uv -Duv_use_dtrace=true # <outp
build: make systemtap probes work with gyp build The following now works though the used approach is nothing to write home about: $ ./gyp_uv -Duv_use_dtrace=true # <output elided> $ make -C out BUILDTYPE=Debug # <output elided> $ cd out/Debug && stap -L 'process("./run-tests").mark("*")' process("./run-tests").mark("tick__start") $arg1:long $arg2:long process("./run-tests").mark("tick__stop") $arg1:long $arg2:long
show more ...
|
21c37a7d | 30-Oct-2013 |
Ben Noordhuis |
linux: use CLOCK_MONOTONIC_COARSE if available On some systems, clock_gettime(CLOCK_MONOTONIC) is only serviced from the vDSO when the __vdso_clock_gettime() wrapper is confident enough
linux: use CLOCK_MONOTONIC_COARSE if available On some systems, clock_gettime(CLOCK_MONOTONIC) is only serviced from the vDSO when the __vdso_clock_gettime() wrapper is confident enough that the vDSO timestamp is highly accurate. When in doubt, it falls back to making a traditional SYS_clock_gettime system call with all the overhead that entails. While a commendable approach, it's overkill for our purposes because we don't usually need high precision time. That's why this commit switches to CLOCK_MONOTONIC_COARSE for low-precision timekeeping, provided said clock has at least a one millisecond resolution. This change should eliminate the system call on almost all systems, including virtualized ones, provided the kernel is >= 2.6.32 and glibc is new enough to find and parse the vDSO.
show more ...
|
8a4aa226 | 30-Oct-2013 |
Fedor Indutny |
include: UV_FS_EVENT_RECURSIVE is a flag It should not be the same as: `UV_FS_EVENT_WATCH_ENTRY | UV_FS_EVENT_STAT` Because we never meant that, and that's not how it works. |
43bef410 | 23-Oct-2013 |
Fedor Indutny |
fsevents: report errors to user |
b45e3cca | 29-Oct-2013 |
Timothy J Fontaine |
Now working on v0.11.15 |
d7a6482f | 29-Oct-2013 |
Timothy J Fontaine |
2013.10.30, Version 0.11.14 (Unstable) Changes since version 0.11.13: * darwin: create fsevents thread on demand (Ben Noordhuis) * fsevents: FSEvents is most likely not thr
2013.10.30, Version 0.11.14 (Unstable) Changes since version 0.11.13: * darwin: create fsevents thread on demand (Ben Noordhuis) * fsevents: FSEvents is most likely not thread-safe (Fedor Indutny) * fsevents: use shared FSEventStream (Fedor Indutny) * windows: make uv_fs_chmod() report errors correctly (Bert Belder) * windows: make uv_shutdown() for write-only pipes work (Bert Belder) * windows/fs: wrap multi-statement macros in do..while block (Bert Belder) * windows/fs: make uv_fs_open() report EINVAL correctly (Bert Belder) * windows/fs: handle _open_osfhandle() failure correctly (Bert Belder) * windows/fs: wrap multi-statement macros in do..while block (Bert Belder) * windows/fs: make uv_fs_open() report EINVAL correctly (Bert Belder) * windows/fs: handle _open_osfhandle() failure correctly (Bert Belder) * build: clarify instructions for Windows (Brian Kaisner) * build: remove GCC_WARN_ABOUT_MISSING_NEWLINE (Ben Noordhuis) * darwin: fix 10.6 build error in fsevents.c (Ben Noordhuis) * windows: run close callbacks after polling for i/o (Saúl Ibarra Corretgé) * include: clarify uv_tcp_bind() behavior (Ben Noordhuis) * include: clean up includes in uv.h (Ben Noordhuis) * include: remove UV_IO_PRIVATE_FIELDS macro (Ben Noordhuis) * include: fix typo in comment in uv.h (Ben Noordhuis) * include: update uv_is_active() documentation (Ben Noordhuis) * include: make uv_process_options_t.cwd const (Ben Noordhuis) * unix: wrap long lines at 80 columns (Ben Noordhuis) * unix, windows: make uv_is_*() always return 0 or 1 (Ben Noordhuis) * bench: measure total/init/dispatch/cleanup times (Ben Noordhuis) * build: use -pthread on sunos (Timothy J. Fontaine) * windows: remove duplicate check in stream.c (Ben Noordhuis) * unix: sanity-check fds before closing (Ben Noordhuis) * unix: remove uv__pipe_accept() (Ben Noordhuis) * unix: fix uv_spawn() NULL pointer deref on ENOMEM (Ben Noordhuis) * unix: don't close inherited fds on uv_spawn() fail (Ben Noordhuis) * unix: revert recent FSEvent changes (Ben Noordhuis) * fsevents: fix clever rescheduling (Fedor Indutny) * linux: ignore fractional time in uv_uptime() (Ben Noordhuis) * unix: fix SIGCHLD waitpid() race in process.c (Ben Noordhuis) * unix, windows: add uv_fs_event_start/stop functions (Saúl Ibarra Corretgé) * unix: fix non-synchronized access in signal.c (Ben Noordhuis) * unix: add atomic-ops.h (Ben Noordhuis) * unix: add spinlock.h (Ben Noordhuis) * unix: clean up uv_tty_set_mode() a little (Ben Noordhuis) * unix: make uv_tty_reset_mode() async signal-safe (Ben Noordhuis) * include: add E2BIG status code mapping (Ben Noordhuis) * windows: fix duplicate case build error (Ben Noordhuis) * windows: remove unneeded check (Saúl Ibarra Corretgé) * include: document pipe path truncation behavior (Ben Noordhuis) * fsevents: increase stack size for OSX 10.9 (Fedor Indutny) * windows: _snprintf expected wrong parameter type in string (Maks Naumov) * windows: "else" keyword is missing (Maks Naumov) * windows: incorrect check for SOCKET_ERROR (Maks Naumov) * windows: add stdlib.h to satisfy reference to abort (Sean Farrell) * build: fix check target for mingw (Sean Farrell) * unix: move uv_shutdown() assertion (Keno Fischer) * darwin: avoid calling GetCurrentProcess (Fedor Indutny)
show more ...
|
ab022527 | 28-Oct-2013 |
Fedor Indutny |
Merge branch 'v0.10' Conflicts: src/unix/darwin-proctitle.c src/version.c
|
08e0e63f | 28-Oct-2013 |
Fedor Indutny |
darwin: avoid calling GetCurrentProcess Use some black-magic from Apple to change process name without getting a "Not responding" tag from Activity Manager. fix #966 |
fb36c099 | 26-Oct-2013 |
Keno Fischer |
unix: move uv_shutdown() assertion Allows uv_shutdown() to return an error as intended if the stream has already been closed. Fixes #972, refs JuliaLang/julia#4229. |
ee434b30 | 11-Oct-2013 |
Sean Farrell |
test: remove replacement snprintf for mingw Mingw has a proper definition of snprintf. |
4c6294e6 | 11-Oct-2013 |
Sean Farrell |
build: fix check target for mingw |