a0b56059 | 20-Dec-2015 |
Ben Noordhuis |
unix: report errors for unpollable fds Libuv would abort() when trying to watch a file descriptor that is not compatible with epoll-style polling; file descriptors referring to on-di
unix: report errors for unpollable fds Libuv would abort() when trying to watch a file descriptor that is not compatible with epoll-style polling; file descriptors referring to on-disk files fall into this category. File descriptors that libuv creates itself are not an issue but external ones that come in through the uv_poll_init() API are. Make uv_poll_init() check whether the file descriptor is accepted by the underlying system call and return an error when it's not. Fixes: https://github.com/libuv/libuv/issues/658 PR-URL: https://github.com/libuv/libuv/pull/659 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
c21a75a1 | 19-Jan-2016 |
Imran Iqbal |
test: fix threadpool_multiple_event_loops for AIX Disabled the filesystem portion of the test as there are known issues with AIX and its fs. This particular test was failing with a timeo
test: fix threadpool_multiple_event_loops for AIX Disabled the filesystem portion of the test as there are known issues with AIX and its fs. This particular test was failing with a timeout. PR-URL: https://github.com/libuv/libuv/pull/689 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
db680a1d | 21-Jan-2016 |
Didiet |
ios: fix undefined PTHREAD_STACK_MIN PR-URL: https://github.com/libuv/libuv/pull/692 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
c0fa2e75 | 04-Jan-2016 |
cjihrig |
unix,win: add uv_os_tmpdir() PR-URL: https://github.com/libuv/libuv/pull/672 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
d41749d5 | 19-Jan-2016 |
Imran Iqbal |
test: fix race condition in pipe-close-stdout If the child process reaches uv_run before the parent has closed the write end of the pipe the test fails with the following output:
test: fix race condition in pipe-close-stdout If the child process reaches uv_run before the parent has closed the write end of the pipe the test fails with the following output: Assertion failed in test/test-pipe-close-stdout-read-stdin.c on line 86: uv_run(uv_default_loop(), UV_RUN_NOWAIT) == 0 Assertion failed in test/test-pipe-close-stdout-read-stdin.c on line 97: WIFEXITED(status) && WEXITSTATUS(status) == 0 This is mainly seen on AIX, but does not mean that it can not occur on linux. This change causes the child process to be blocked until the write end of the pipe is properly closed. See 'man 7 pipe'[0] for more detail. [0]http://linux.die.net/man/7/pipe PR-URL: https://github.com/libuv/libuv/pull/688 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
ad2cc8f6 | 06-Jan-2016 |
Alexis Murzeau |
test,win: fix compilation with shared lib Tests were failing to link because of undefined snprintf symbol with VS < 2015 and using shared library. snprintf is implemented in lib
test,win: fix compilation with shared lib Tests were failing to link because of undefined snprintf symbol with VS < 2015 and using shared library. snprintf is implemented in libuv in src/win/snprintf.c when compiling with VS < 2015, so this commit add src/win/snprintf.c to test sources to make snprintf available in tests. PR-URL: https://github.com/libuv/libuv/pull/678 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
f1a13e9b | 06-Jan-2016 |
Saúl Ibarra Corretgé |
osx: avoid compilation warning with Clang ~~~~ src/unix/stream.c:1089:19: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant] char
osx: avoid compilation warning with Clang ~~~~ src/unix/stream.c:1089:19: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant] char cmsg_space[CMSG_SPACE(UV__CMSG_FD_SIZE)]; ~~~~ PR-URL: https://github.com/libuv/libuv/pull/677 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
01ab8d64 | 05-Jan-2016 |
Saúl Ibarra Corretgé |
test: fixup eintr_handling - Add missing include - Fix test name on Windows - Fixup style Refs: https://github.com/libuv/libuv/pull/661 PR-URL: https://github.com/libuv/
test: fixup eintr_handling - Add missing include - Fix test name on Windows - Fixup style Refs: https://github.com/libuv/libuv/pull/661 PR-URL: https://github.com/libuv/libuv/pull/673 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com>
show more ...
|
89319575 | 05-Jan-2016 |
Ben Noordhuis |
build: invoke libtoolize with --copy Ensure that ltmain.sh gets copied, not symlinked, like we do with automake artifacts. PR-URL: https://github.com/libuv/libuv/pull/675 Re
build: invoke libtoolize with --copy Ensure that ltmain.sh gets copied, not symlinked, like we do with automake artifacts. PR-URL: https://github.com/libuv/libuv/pull/675 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
3db07cc3 | 04-Jan-2016 |
Saúl Ibarra Corretgé |
osx: set the default thread stack size to RLIMIT_STACK Fixes: https://github.com/libuv/libuv/issues/669 PR-URL: https://github.com/libuv/libuv/pull/671 Reviewed-By: Ben Noordhuis <in
osx: set the default thread stack size to RLIMIT_STACK Fixes: https://github.com/libuv/libuv/issues/669 PR-URL: https://github.com/libuv/libuv/pull/671 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
a564ef09 | 20-Dec-2015 |
Dave |
fs: don't nullify req->bufs on EINTR uv__fs_buf_iter currently sets req->bufs to NULL after it is done, but if the operation fails with EINTR then it will be retried, at which point
fs: don't nullify req->bufs on EINTR uv__fs_buf_iter currently sets req->bufs to NULL after it is done, but if the operation fails with EINTR then it will be retried, at which point it expects the bufs to not be NULL, causing a seg fault as in https://github.com/nodejs/node/issues/4291. uv__fs_buf_iter should not set req->bufs to NULL if the operation fails with EINTR. Also, when it sets req->bufs to NULL, it should set req->nbufs to 0 as well, so we don't have the messy situation of a positive nbufs with no actual bufs. PR-URL: https://github.com/libuv/libuv/pull/661 Reviewed-By: Fedor Indutny <fedor@indutny.com>
show more ...
|
bcecc3dd | 04-Jan-2016 |
Ben Noordhuis |
test,unix: fix logic error in test runner Fix the logic that guards against the system clock jumping back in time. Fixes: https://github.com/libuv/libuv/issues/667 PR-URL: https
test,unix: fix logic error in test runner Fix the logic that guards against the system clock jumping back in time. Fixes: https://github.com/libuv/libuv/issues/667 PR-URL: https://github.com/libuv/libuv/pull/670 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
a0057d96 | 22-Dec-2015 |
Dave |
doc: indicate where new test files need to be added PR-URL: https://github.com/libuv/libuv/pull/662 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
c8619721 | 14-Dec-2015 |
Martin Bark |
unix: fix support for uClibc-ng uClibc-ng is currently at v1.0.9. The patch corrects the uClibc version test so that HAVE_IFADDRS_H is defined for uClibc versions after v0.9.32.
unix: fix support for uClibc-ng uClibc-ng is currently at v1.0.9. The patch corrects the uClibc version test so that HAVE_IFADDRS_H is defined for uClibc versions after v0.9.32. Signed-off-by: Martin Bark <martin@barkynet.com> PR-URL: https://github.com/libuv/libuv/pull/653 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
427e4c9d | 02-Jun-2015 |
João Reis |
win: wait for full timeout duration uv_poll should wait for at least the full timeout duration when there is nothing else to do. This was not happening because GetQueuedCompletionSta
win: wait for full timeout duration uv_poll should wait for at least the full timeout duration when there is nothing else to do. This was not happening because GetQueuedCompletionStatus can occasionally return up to 15ms early. The added test reproduces https://github.com/joyent/node/blob/d13d7f74d794340ac5e126cfb4ce507fe0f803d5/test/simple/test-timers-first-fire.js on libuv, being flaky before this fix. Fixes: https://github.com/joyent/node/issues/8960 PR-URL: https://github.com/libuv/libuv/pull/385 Reviewed-By: Alexis Campailla <alexis@janeasystems.com> Reviewed-by: Bert Belder <bertbelder@gmail.com>
show more ...
|
61f13a6d | 14-Dec-2015 |
Saúl Ibarra Corretgé |
Now working on version 1.8.1 |
59dab837 | 14-Dec-2015 |
Saúl Ibarra Corretgé |
Add SHA to ChangeLog |
54672994 | 14-Dec-2015 |
Saúl Ibarra Corretgé |
2015.12.15, Version 1.8.0 (Stable) Changes since version 1.7.5: * unix: fix memory leak in uv_interface_addresses (Jianghua Yang) * unix: make uv_guess_handle work properly
2015.12.15, Version 1.8.0 (Stable) Changes since version 1.7.5: * unix: fix memory leak in uv_interface_addresses (Jianghua Yang) * unix: make uv_guess_handle work properly for AIX (Gireesh Punathil) * fs: undo uv__req_init when uv__malloc failed (Jianghua Yang) * build: remove unused 'component' GYP option (Saúl Ibarra Corretgé) * include: remove duplicate extern declaration (Jianghua Yang) * win: use the MSVC provided snprintf where possible (Jason Williams) * win, test: fix compilation warning (Saúl Ibarra Corretgé) * win: fix compilation with VS < 2012 (Ryan Johnston) * stream: support empty uv_try_write on unix (Fedor Indutny) * unix: fix request handle leak in uv__udp_send (Jianghua Yang) * src: replace QUEUE_SPLIT with QUEUE_MOVE (Ben Noordhuis) * unix: use QUEUE_MOVE when iterating over lists (Ben Noordhuis) * unix: squelch harmless valgrind warning (Ben Noordhuis) * test: don't abort on setrlimit() failure (Ben Noordhuis) * unix: only undo fs req registration in async mode (Ben Noordhuis) * unix: fix uv__getiovmax return value (HungMingWu) * unix: make work with Solaris Studio. (Adam Stylinski) * test: fix fs_event_watch_file_currentdir flakiness (Santiago Gimeno) * unix: skip prohibited syscalls on tvOS and watchOS (Nathan Corvino) * test: use FQDN in getaddrinfo_fail test (Wink Saville) * docs: clarify documentation of uv_tcp_init_ex (Andrius Bentkus) * win: fix comment (Miodrag Milanovic) * doc: fix typo in README (Angel Leon) * darwin: abort() if (un)locking fs mutex fails (Ben Noordhuis) * pipe: enable inprocess uv_write2 on Windows (Louis DeJardin) * win: properly return UV_EBADF when _close() fails (Nicholas Vavilov) * test: skip process_title for AIX (Imran Iqbal) * misc: expose handle print APIs (Petka Antonov) * include: add stdio.h to uv.h (Saúl Ibarra Corretgé) * misc: remove unnecessary null pointer checks (Ian Kronquist) * test,freebsd: skip udp_dual_stack if not supported (Santiago Gimeno) * linux: don't retry dup2/dup3 on EINTR (Ben Noordhuis) * unix: don't retry dup2/dup3 on EINTR (Ben Noordhuis) * test: fix -Wtautological-pointer-compare warnings (Saúl Ibarra Corretgé) * win: map ERROR_BAD_PATHNAME to UV_ENOENT (Tony Kelman) * test: fix test/test-tty.c for AIX (Imran Iqbal) * android: support api level less than 21 (kkdaemon) * fsevents: fix race on simultaneous init+close (Fedor Indutny) * linux,fs: fix p{read,write}v with a 64bit offset (Saúl Ibarra Corretgé) * fs: add uv_fs_realpath() (Yuval Brik) * win: fix path for removed and renamed fs events (Joran Dirk Greef) * win: do not read more from stream than available (Jeremy Whitlock) * test: test that uv_close() doesn't corrupt QUEUE (Andrey Mazo) * unix: fix uv_fs_event_stop() from fs_event_cb (Andrey Mazo) * test: fix self-deadlocks in thread_rwlock_trylock (Ben Noordhuis) * src: remove non ascii character (sztomi) * test: fix test udp_multicast_join6 for AIX (Imran Iqbal)
show more ...
|
99e5fb76 | 11-Dec-2015 |
Imran Iqbal |
test: fix test udp_multicast_join6 for AIX PR-URL: https://github.com/libuv/libuv/pull/650 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
b4126dd6 | 11-Dec-2015 |
sztomi |
src: remove non ascii character PR-URL: https://github.com/libuv/libuv/pull/651 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
e4675f6f | 11-Dec-2015 |
Ben Noordhuis |
test: fix self-deadlocks in thread_rwlock_trylock Trying to acquire a rwlock that the current thread already owns may fail (not "shall fail") with EDEADLK. Libuv considers that a fatal
test: fix self-deadlocks in thread_rwlock_trylock Trying to acquire a rwlock that the current thread already owns may fail (not "shall fail") with EDEADLK. Libuv considers that a fatal error and rightly so in my opinion; it normally means the program contains a logic error. The test had indeed logic errors. This commit splits off the UV_EBUSY return code testing into a separate thread, eliminating the potential for self-deadlock. Fixes: https://github.com/libuv/libuv/issues/544 PR-URL: https://github.com/libuv/libuv/pull/649 Reviewed-By: Jeremy Whitlock <jwhitlock@apache.org> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
46343764 | 19-Nov-2015 |
Andrey Mazo |
unix: fix uv_fs_event_stop() from fs_event_cb The following changeset 442b8a5a848e1589520a4d4fd175d7e9aa084c44 "unix: use QUEUE_MOVE when iterating over lists" introduced a new asser
unix: fix uv_fs_event_stop() from fs_event_cb The following changeset 442b8a5a848e1589520a4d4fd175d7e9aa084c44 "unix: use QUEUE_MOVE when iterating over lists" introduced a new assert failure: `queue_foreach_delete` failed: exit code 6 Output from process `queue_foreach_delete`: run-tests: src/unix/linux-inotify.c:244: uv_fs_event_stop: Assertion `w != ((void *)0)' failed. Simplest test case for this: 1. create and start two uv_fs_event_t for the same path; 2. in the callback for the first one, call uv_close() on it; 3. assert/segfault while accessing the second uv_fs_event_t from uv__inotify_read(). PR-URL: https://github.com/libuv/libuv/pull/621 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
6060841e | 30-Sep-2015 |
Andrey Mazo |
test: test that uv_close() doesn't corrupt QUEUE The test adds all types of handles, that were known to be affected by QUEUE_REMOVE()-within-QUEUE_FOREACH() bug, to a loop. It then c
test: test that uv_close() doesn't corrupt QUEUE The test adds all types of handles, that were known to be affected by QUEUE_REMOVE()-within-QUEUE_FOREACH() bug, to a loop. It then calls uv_close() to trigger QUEUE_REMOVE()-within-QUEUE_FOREACH() case and checks whether a particular QUEUE is corrupted or not. Restrict the test to Linux only for now as it fails on other platforms for various reasons. PR-URL: https://github.com/libuv/libuv/pull/621 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
eb3f48eb | 24-Sep-2015 |
Jeremy Whitlock |
win: do not read more from stream than available On Windows the pipe implementation could read more from a stream than was available and it would create an assertion failure. This chang
win: do not read more from stream than available On Windows the pipe implementation could read more from a stream than was available and it would create an assertion failure. This change will make it so we read the minimum of the available data or the length of the data. To test this, I took the existing ipc_send_recv_tcp test and updated it to do two writes and two read on each side of the pipe since that was the reproduction recipe used by the reporter. This approach reproduced the issue on Windows and the committed fix resolved the issue. Fixes: https://github.com/libuv/libuv/issues/505 PR-URL: https://github.com/libuv/libuv/pull/549 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
e0250b7d | 03-Dec-2015 |
Joran Dirk Greef |
win: fix path for removed and renamed fs events Previous behavior on Windows was to set the path to NULL for removed and renamed fs events. This was because the path provided by Read
win: fix path for removed and renamed fs events Previous behavior on Windows was to set the path to NULL for removed and renamed fs events. This was because the path provided by ReadDirectoryChangesW might (in rare cases) be an 8.3 short name which could then no longer be converted to a long name after the path had been removed or renamed. This meant that the user had to detect which path was actually deleted or renamed and required the user to rescan the entire watched subtree, taking several seconds or more for large subtrees. However, ReadDirectoryChangesW is publicly documented to emit 8.3 short names if the original handle for the changed path was opened using an 8.3 short name, and libuv may already emit 8.3 short names for other events if the path cannot be explicitly resolved to a long name. This commit fixes the path for removed and renamed fs events, and does not set the path to NULL, even if the path might be an 8.3 short name. This makes it possible for the user to do a partial scan of the subtree, restricting the scan to paths which match the long form or 8.3 short name (even if some of these are false positive matches). This means that deletes and renames can now be detected accurately on Windows within a few milliseconds. Fixes: https://github.com/libuv/libuv/issues/634 Refs: https://github.com/libuv/libuv/pull/199 PR-URL: https://github.com/libuv/libuv/pull/639 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|