Commit Graph

55 Commits

Author SHA1 Message Date
Jameson Nash
34fff5a15b 2023.11.06, Version 1.47.0 (Stable)
Changes since version 1.46.0:
 
 * test: fix license blurb (Ben Noordhuis)
 
 * linux: fix harmless warn_unused_result warning (Shuduo Sang)
 
 * darwin: fix build warnings (小明)
 
 * linux: don't use io_uring on pre-5.10.186 kernels (Ben Noordhuis)
 
 * fs: fix WTF-8 decoding issue (Jameson Nash)
 
 * test: enable disabled tcp_connect6_error_fault (Ben Noordhuis)
 
 * test: enable disabled fs_link (Ben Noordhuis)
 
 * test: enable disabled spawn_same_stdout_stderr (Ben Noordhuis)
 
 * linux: handle UNAME26 personality (Ben Noordhuis)
 
 * build: move cmake_minimum_required version to 3.9 (Keith Winstein)
 
 * unix: set ipv6 scope id for link-local addresses (Ben Noordhuis)
 
 * unix: match kqueue and epoll code (Trevor Norris)
 
 * win,spawn: allow `%PATH%` to be unset (Kyle Edwards)
 
 * doc: switch to Furo, a more modern Sphinx theme (Saúl Ibarra Corretgé)
 
 * darwin: make TCP_KEEPINTVL and TCP_KEEPCNT available (小明)
 
 * win,fs: avoid winapi macro redefinition (Brad King)
 
 * linux: add missing riscv syscall numbers (michalbiesek)
 
 * doc: fix broken "Shared library" Wikipedia link (Alois Klink)
 
 * unix: get mainline kernel version in Ubuntu (Santiago Gimeno)
 
 * unix: get mainline kernel version in Debian (Ben Noordhuis)
 
 * build: fix qemu install in CI-unix workflow (Santiago Gimeno)
 
 * unix: disable io_uring close on selected kernels (Santiago Gimeno)
 
 * test: skip tests when ipv6 is not available (Santiago Gimeno)
 
 * ibmi: implement ifaddrs, getifaddrs, freeifaddrs (Abdirahim Musse)
 
 * unix: reset signal counters after fork (SmorkalovG)
 
 * win,process: avoid assert after spawning Store app (Jameson Nash)
 
 * unix: remove pread/preadv conditionals (Ben Noordhuis)
 
 * unix: remove pwrite/pwritev conditionals (Ben Noordhuis)
 
 * darwin: remove workaround for data corruption bug (Ben Noordhuis)
 
 * src: default to stream=stderr in handle printer (Ben Noordhuis)
 
 * test: switch to new-style ASSERT_EQ macros (Pleuvens)
 
 * zos: correctly get cpu model in uv_cpu_info() (jolai)
 
 * test: fix get_passwd2 on IBM i (Abdirahim Musse)
 
 * unix: don't malloc on sync uv_fs_read (Ben Noordhuis)
 
 * freebsd: get fs event path with fcntl(F_KINFO) (David Carlier)
 
 * test: switch from ASSERT_* to ASSERT_PTR_* (Pleuvens)
 
 * darwin: workaround apple pthread_cond_wait bug (Julien Roncaglia)
 
 * doc: uv_close should be called after exit callback (Pleuvens)
 
 * test: 192.0.2.0/24 is the actual -TEST-NET-1 (prubel)
 
 * unix: add back preadv/pwritev fallback (Ben Noordhuis)
 
 * unix: rename variable for consistency (Ben Noordhuis)
 
 * unix: merge read/write code into single functions (Ben Noordhuis)
 
 * doc: filename arg to uv_fs_event_cb can be NULL (Ben Noordhuis)
 
 * build,win: we need to link against shell32.lib (Per Allansson)
 
 * unix: no preadv/pwritev workaround if not needed (Jeffrey H. Johnson)
 
 * build: add CI for Windows ARM64 (build only) (Per Allansson)
 
 * linux: disable io_uring on 32 bits arm systems (Ben Noordhuis)
 
 * build: run sanitizers on macos ci (Ben Noordhuis)
 
 * misc: export WTF8 conversion utilities (Jameson Nash)
 
 * build: fix libuv.a file name for cmake (Jameson Nash)
 
 * build: add windows ubsan and clang ci (Matheus Izvekov)
 
 * win: improve accuracy of ProductName between arch (Christian Heimlich)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEz7ucqaW+r9cOKzxaeaZ8VaNnnIsFAmVJLa4ACgkQeaZ8VaNn
 nIvdMw//XQzU1OasKcghWZZAFmrgy8D+40Q5drSgCFryAA+WA9wXruKOeqQ3vw7+
 9Xwai97fMbxGSFhR2IwjbwD8o8DZotDTMBgSUvuyAlzdw0xB2D+eAnvxaMmYg2km
 R5eNb2KgmzhC7HFuPbpjWbL1mEnBU8rTSzV6yeMs2LXfLquJoopmgAjB2MXS6/Fr
 +WkwJx7/B/3wEhhbX5sopd6PT8UcWdbSvB/S+PU12kI0KgJeJlq0jXd5LyDaQYI6
 j4XYcpgEp8B/gyiXSgso+eg1CiZQUYVMXZ5+6YA5le/s5ieJwJ2cEvo/HJa5guZ/
 PBb+ulucUaupBzQFaPYwnrEzE3YHNVppBcfryxqn48Ih0Z9pNs/6EdxqggYvAyWk
 VA9Yi0qDFSFgD0hZSkvi/m/UEH17FLTac1DSob4EKfwAJ04spmEtiBWaL+7wQ/ca
 Kc819NXBaFUb+BEkN711B1CvaT6aef9wZcis42MPHjHJ19BNgb4uAa3GbmrvB2dt
 EodLGlbOAkKLFC29qAGeKZKhnSWfZS/HvuyqMOgONuJTj0Jm/RdwqIsvILejtj32
 7m9saTkRWav4L1yvksUYT24WIk1e324gBgm9411IggdDILgbLYrwWNZb56FgMDQb
 cqmg0Ap6zMZ9UOf4hfqTiKZPjqqfxgSp20zCjVTy+vsCSXJnFaQ=
 =7yzD
 -----END PGP SIGNATURE-----

Merge tag 'v1.47.0' into merge_1.47.0
2023-11-21 18:41:12 +00:00
Pleuvens
d8669609d8
test: switch from ASSERT_* to ASSERT_PTR_* (#4163)
Also introduce a new ASSERT_PTR_LT macro.
2023-10-12 20:47:44 +02:00
Pleuvens
011a1ac1a3
test: switch to new-style ASSERT_EQ macros (#4159)
Switch from old-style ASSERT macro to new-style ASSERT_EQ,... macros.

Using new-style macros makes it easier to debug test failures

Fixes: https://github.com/libuv/libuv/issues/2974
2023-10-06 19:50:15 +02:00
Jameson Nash
4e774df4cc 2023.05.19, Version 1.45.0 (Stable)
Changes since version 1.44.2:
 
 * win: remove stdint-msvc2008.h (Ben Noordhuis)
 
 * android: remove pthread-fixes.c (Ben Noordhuis)
 
 * build: enable MSVC_RUNTIME_LIBRARY setting (自发对称破缺)
 
 * unix: switch to c11 atomics (Ben Noordhuis)
 
 * unix: don't accept() connections in a loop (Ben Noordhuis)
 
 * win: fix off-by-1 buffer overrun in uv_exepath() (Ben Noordhuis)
 
 * build: switch ci from macos-10.15 to macos-11 (Ben Noordhuis)
 
 * win: fix thread race in uv_cwd() and uv_chdir() (Ben Noordhuis)
 
 * unix,win: remove UV_HANDLE_SHUTTING flag (Santiago Gimeno)
 
 * win: support Windows 11 in uv_os_uname() (Luan Devecchi)
 
 * unix: fix uv_getrusage() ru_maxrss reporting (Ben Noordhuis)
 
 * doc: add note about offset -1 in uv_fs_read/write (Steven Schveighoffer)
 
 * test: fix musl libc.a dlerror() test expectation (Ben Noordhuis)
 
 * kqueue: DRY file descriptor deletion logic (Ben Noordhuis)
 
 * linux: teach uv_get_constrained_memory() cgroupsv2 (Ben Noordhuis)
 
 * build: upgrade qemu-user-static package (Ben Noordhuis)
 
 * linux: move epoll.c back into linux-core.c (Ben Noordhuis)
 
 * unix: remove pre-macos 10.8 compatibility hack (Ben Noordhuis)
 
 * unix,win: fix memory leak in uv_fs_scandir() (Ben Noordhuis)
 
 * build: restore qemu download logic (Ben Noordhuis)
 
 * win: fix uv__pipe_accept memory leak (number201724)
 
 * doc: update LINKS.md (Daniel)
 
 * unix: simplify atomic op in uv_tty_reset_mode() (Ben Noordhuis)
 
 * build: add LIBUV_BUILD_SHARED cmake option (Christian Clason)
 
 * linux: remove unused or obsolete syscall wrappers (Ben Noordhuis)
 
 * linux: merge files back into single file (Ben Noordhuis)
 
 * stream: process more than one write req per loop tick (ywave620)
 
 * unix,win: give thread pool threads an 8 MB stack (Ben Noordhuis)
 
 * build: add MemorySanitizer (MSAN) support (Ben Noordhuis)
 
 * doc: add uv_poll_cb status==UV_EBADF note (jensbjorgensen)
 
 * build: support AddressSanitizer on MSVC (Jameson Nash)
 
 * win,pipe: improve method of obtaining pid for ipc (number201724)
 
 * thread: add support for affinity (daomingq)
 
 * include: map ENODATA error code (Ben Noordhuis)
 
 * build: remove bashism from autogen.sh (Santiago Gimeno)
 
 * win,tcp,udp: remove "active streams" optimization (Saúl Ibarra Corretgé)
 
 * win: drop code checking for Windows XP / Server 2k3 (Saúl Ibarra Corretgé)
 
 * unix,win: fix 'sprintf' is deprecated warning (twosee)
 
 * doc: mention close_cb can be NULL (Qix)
 
 * win: optimize udp receive performance (ywave620)
 
 * win: fix an incompatible types warning (twosee)
 
 * doc: document 0 return value for free/total memory (Ben Noordhuis)
 
 * darwin: use hw.cpufrequency again for frequency info (Jameson Nash)
 
 * win,test: change format of TEST_PIPENAME's (Santiago Gimeno)
 
 * win,pipe: fixes in uv_pipe_connect() (Santiago Gimeno)
 
 * misc: fix return value of memory functions (theanarkh)
 
 * src: add new metrics APIs (Trevor Norris)
 
 * thread: add uv_thread_getcpu() (daomingq)
 
 * build: don't use ifaddrs.h on solaris 10 (Edward Humes)
 
 * unix,win: add uv_get_available_memory() (Tim Besard)
 
 * test: fix -Wunused-but-set-variable warnings (Ben Noordhuis)
 
 * doc: bump min supported linux and freebsd versions (Ben Noordhuis)
 
 * Add Socket Runtime to the LINKS.md (Sergey Rubanov)
 
 * unix: drop kfreebsd support (Ben Noordhuis)
 
 * win: fix fstat for pipes and character files (Stefan Stojanovic)
 
 * win: fix -Wunused-variable warning (Ben Noordhuis)
 
 * win: fix -Wunused-function warning (Ben Noordhuis)
 
 * build: drop qemu-alpha from ci matrix (Ben Noordhuis)
 
 * win: move child_stdio_buffer out of uv_process_t (Santiago Gimeno)
 
 * test: fix some unreachable code warnings (Santiago Gimeno)
 
 * linux: simplify uv_uptime() (Ben Noordhuis)
 
 * test: unflake fs_event_watch_dir test (Ben Noordhuis)
 
 * darwin: remove unused fsevents symbol lookups (Ben Noordhuis)
 
 * build: add define guard around UV_EXTERN (Zvicii)
 
 * build: add UndefinedBehaviorSanitizer support (Ben Noordhuis)
 
 * build: enable platform_output test on qemu (Ben Noordhuis)
 
 * linux: handle cpu hotplugging in uv_cpu_info() (Ben Noordhuis)
 
 * build: remove unnecessary policy setting (dundargoc)
 
 * docs: add vcpkg instruction step (Jack·Boos·Yu)
 
 * win,fs: fix readlink errno for a non-symlink file (Darshan Sen)
 
 * misc: extend getpw to take uid as an argument (Jameson Nash)
 
 * unix,win: use static_assert when available (Ben Noordhuis)
 
 * docs: delete code Makefile (Jameson Nash)
 
 * docs: add CI for docs PRs (Jameson Nash)
 
 * docs: update Sphinx version on RTD (Jameson Nash)
 
 * doc: clean up license file (Ben Noordhuis)
 
 * test: fix some warnings when compiling tests (panran)
 
 * build,win: add mingw-w64 CI configuration (Jameson Nash)
 
 * build: add CI for distcheck (Jameson Nash)
 
 * unix: remove busy loop from uv_async_send (Jameson Nash)
 
 * doc: document uv_fs_cb type (Tamás Bálint Misius)
 
 * build: Improve build by cmake for Cygwin (erw7)
 
 * build: add libuv:: namespace to libuvConfig.cmake (AJ Heller)
 
 * test: fix ThreadSanitizer thread leak warning (Ben Noordhuis)
 
 * test: fix ThreadSanitizer data race warning (Ben Noordhuis)
 
 * test: fix ThreadSanitizer data race warning (Ben Noordhuis)
 
 * test: fix ThreadSanitizer data race warning (Ben Noordhuis)
 
 * test: cond-skip fork_threadpool_queue_work_simple (Ben Noordhuis)
 
 * test: cond-skip signal_multiple_loops (Ben Noordhuis)
 
 * test: cond-skip tcp_writealot (Ben Noordhuis)
 
 * build: promote tsan ci to must-pass (Ben Noordhuis)
 
 * build: add CI for OpenBSD and FreeBSD (James McCoy)
 
 * build,test: fix distcheck errors (Jameson Nash)
 
 * test: remove bad tty window size assumption (Ben Noordhuis)
 
 * darwin,process: feed kevent the signal to reap children (Jameson Nash)
 
 * unix: abort on clock_gettime() error (Ben Noordhuis)
 
 * test: remove timing-sensitive check (Ben Noordhuis)
 
 * unix: DRY and fix tcp bind error path (Jameson Nash)
 
 * macos: fix fsevents thread race conditions (Ben Noordhuis)
 
 * win: fix leak in uv_chdir (Trevor Norris)
 
 * test: make valgrind happy (Trevor Norris)
 
 * barrier: wait for prior out before next in (Jameson Nash)
 
 * test: fix visual studio 2015 build error (Ben Noordhuis)
 
 * linux: fix ceph copy error truncating readonly files (Bruno Passeri)
 
 * test: silence more valgrind warnings (Trevor Norris)
 
 * doc: add entries to LINKS.md (Trevor Norris)
 
 * win,unix: change execution order of timers (Trevor Norris)
 
 * doc: add trevnorris to maintainers (Trevor Norris)
 
 * linux: remove epoll_pwait() emulation code path (Ben Noordhuis)
 
 * linux: replace unsafe macro with inline function (Ben Noordhuis)
 
 * linux: remove arm oabi support (Ben Noordhuis)
 
 * unix,sunos: SO_REUSEPORT not valid on all sockets (Stacey Marshall)
 
 * doc: consistent single backquote in misc.rst (Jason Zhang)
 
 * src: switch to use C11 atomics where available (Trevor Norris)
 
 * test: don't use static buffer for formatting (Ben Noordhuis)
 
 * linux: introduce io_uring support (Ben Noordhuis)
 
 * linux: fix academic valgrind warning (Ben Noordhuis)
 
 * test: disable signal test under ASan and MSan (Ben Noordhuis)
 
 * linux: add IORING_OP_OPENAT support (Ben Noordhuis)
 
 * linux: add IORING_OP_CLOSE support (Ben Noordhuis)
 
 * linux: remove bug workaround for obsolete kernels (Ben Noordhuis)
 
 * doc: update active maintainers list (Ben Noordhuis)
 
 * test: add ASSERT_OK (Trevor Norris)
 
 * src: fix events/events_waiting metrics counter (Trevor Norris)
 
 * unix,win: add uv_clock_gettime() (Ben Noordhuis)
 
 * build: remove freebsd and openbsd buildbots (Ben Noordhuis)
 
 * win: fix race condition in uv__init_console() (sivadeilra)
 
 * linux: fix logic bug in sqe ring space check (Ben Noordhuis)
 
 * linux: use io_uring to batch epoll_ctl calls (Ben Noordhuis)
 
 * macos: update minimum supported version (Santiago Gimeno)
 
 * docs: fix some typos (cui fliter)
 
 * unix: use memcpy() instead of type punning (Ben Noordhuis)
 
 * test: add additional assert (Mohammed Keyvanzadeh)
 
 * build: export compile_commands.json (Lewis Russell)
 
 * win,process: write minidumps when sending SIGQUIT (Elliot Saba)
 
 * unix: constrained_memory should return UINT64_MAX (Tim Besard)
 
 * unix: handle CQ overflow in iou ring (Santiago Gimeno)
 
 * unix: remove clang compiler warning pragmas (Ben Noordhuis)
 
 * win: fix mingw build (gengjiawen)
 
 * test: fix -Wbool-compare compiler warning (Ben Noordhuis)
 
 * win: define MiniDumpWithAvxXStateContext always (Santiago Gimeno)
 
 * freebsd: hard-code UV_ENODATA definition (Santiago Gimeno)
 
 * linux: work around EOWNERDEAD io_uring kernel bug (Ben Noordhuis)
 
 * linux: fix WRITEV with lots of bufs using io_uring (Santiago Gimeno)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEYS8OrZQBYiN530QC8ow8jaM8A74FAmRnW50ACgkQ8ow8jaM8
 A76noBAAiavsCBvAC554x4Naic+B3fEYjKnLe8OLTbdN4XQsS2uSkCEuP0TuwLE7
 Q93CHgDFcL//XmNAXwIKMIvZ7G25zga93qxrZdd7Hsuthg5oJwsrZb8faHG7CeKy
 Fq+SLCUdLcwOR9m9RDp1u3h/pIhoqQvLUlPcBvDKVaJOVhIngawKU/vC125z6ZJs
 CYaKMlPbU2WjIkkoQjNRYL8oolmWTs5T/8AhIVWntTCyc/+/n7uxmWwlfL2iR8Kj
 u5IT7Vhh6a7VC+dGh26k/FN0RGdAgJCZ1Jnrt+llHxRVuw0xEBnrTAyS3hOkA7Me
 s+8VUaCsreVi9p66hqE5b4IL5e9yUEB18A5dQBY+TFNeXaQETVg9BxPMXbhoh+XB
 2643LZn/kN1iilZBMSMl9kqB66qeUihv8cvjMnrTzq+nSxJvuc13XPfbH+zhMkVh
 CQaFMq3v5vc4Kyk2YrjcsfGCIkRxRGlhSmk5riz1Xf+erf4GuOl+o2fA6YvVDAnE
 rzlzpGoRSHgHYC23KirkBHo7qQVbWy+NeLWFRFSHfSN4+czttdusiFSjxERavfSh
 ezRKH6dNHI8C9fqT3oAitXOgFt6AsMiYMt7JpJwPm0SdAFjIEkgjAfhkSQADUHz7
 qezLtJoCL+bcUXE8tgRRuz+J6x4FhKBZVu5uA6fV1UuyWI74DBU=
 =YAOh
 -----END PGP SIGNATURE-----

Merge tag 'v1.45.0' into merge_1.45.0
2023-05-23 09:09:41 -04:00
Trevor Norris
91a7e49846
test: silence more valgrind warnings (#3917)
Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop
needs to be cleaned up. Since it asserts on uv_loop_close(), need to
remove a couple of those that were being done before the call.

Cleanup where loop was assigned, so the entire test either uses loop or
uv_default_loop(). Not both.

Also take care of any reqs that may have been left uncleaned.
2023-03-12 14:59:00 +01:00
Ben Noordhuis
f1b4c76648
test: remove bad tty window size assumption (#3895)
Fixes: https://github.com/libuv/libuv/issues/3894
2023-01-31 18:35:18 +01:00
Ben Noordhuis
5102b2c093
unix: drop kfreebsd support (#3835)
Because kFreeBSD is dead. RIP.

Fixes: https://github.com/libuv/libuv/issues/3833
2022-11-28 22:45:28 +01:00
Jameson Nash
4fe755bc5b 2021.07.21, Version 1.42.0 (Stable)
Changes since version 1.41.0:
 
 * doc: fix code highlighting (Darshan Sen)
 
 * test: move to ASSERT_NULL and ASSERT_NOT_NULL test macros (tjarlama)
 
 * zos: build in ascii code page (Shuowang (Wayne) Zhang)
 
 * zos: don't use nanosecond timestamp fields (Shuowang (Wayne) Zhang)
 
 * zos: introduce zoslib (Shuowang (Wayne) Zhang)
 
 * zos: use strnlen() from zoslib (Shuowang (Wayne) Zhang)
 
 * zos: use nanosleep() from zoslib (Shuowang (Wayne) Zhang)
 
 * zos: use __getargv() from zoslib to get exe path (Shuowang (Wayne) Zhang)
 
 * zos: treat __rfim_utok as binary (Shuowang (Wayne) Zhang)
 
 * zos: use execvpe() to set environ explictly (Shuowang (Wayne) Zhang)
 
 * zos: use custom proctitle implementation (Shuowang (Wayne) Zhang)
 
 * doc: add instructions for building on z/OS (Shuowang (Wayne) Zhang)
 
 * linux,udp: enable full ICMP error reporting (Ondřej Surý)
 
 * test: fix test-udp-send-unreachable (Ondřej Surý)
 
 * include: fix typo in documentation (Tobias Nießen)
 
 * chore: use for(;;) instead of while (Yash Ladha)
 
 * test: remove string + int warning on udp-pummel (Juan José Arboleda)
 
 * cmake: fix linker flags (Zhao Zhili)
 
 * test: fix stack-use-after-scope (Zhao Zhili)
 
 * unix: expose thread_stack_size() internally (Brandon Cheng)
 
 * darwin: use RLIMIT_STACK for fsevents pthread (Brandon Cheng)
 
 * darwin: abort on pthread_attr_init fail (Brandon Cheng)
 
 * benchmark: remove unreachable code (Matvii Hodovaniuk)
 
 * macos: fix memleaks in uv__get_cpu_speed (George Zhao)
 
 * Make Thread Sanitizer aware of file descriptor close in uv__close() (Ondřej
   Surý)
 
 * darwin: fix iOS compilation and functionality (Hayden)
 
 * linux: work around copy_file_range() cephfs bug (Ben Noordhuis)
 
 * zos: implement uv_get_constrained_memory() (Shuowang (Wayne) Zhang)
 
 * zos: fix uv_get_free_memory() (Shuowang (Wayne) Zhang)
 
 * zos: use CVTRLSTG to get total memory accurately (Shuowang (Wayne) Zhang)
 
 * ibmi: Handle interface names longer than 10 chars (Kevin Adler)
 
 * docs: update read-the-docs version of sphinx (Jameson Nash)
 
 * unix: refactor uv_try_write (twosee)
 
 * linux-core: add proper divide by zero assert (yiyuaner)
 
 * misc: remove unnecessary _GNU_SOURCE macros (Darshan Sen)
 
 * test: log to stdout to conform TAP spec (bbara)
 
 * win,fs: fix C4090 warning with MSVC (SeverinLeonhardt)
 
 * build: some systems provide dlopen() in libc (Andy Fiddaman)
 
 * include: add EOVERFLOW status code mapping (Darshan Sen)
 
 * unix,fs: use uv__load_relaxed and uv__store_relaxed (Darshan Sen)
 
 * win: fix string encoding issue of uv_os_gethostname (Eagle Liang)
 
 * unix,process: add uv__write_errno helper function (Ricky Zhou)
 
 * Re-merge "unix,stream: clear read/write states on close/eof" (Jameson Nash)
 
 * unix,core: fix errno handling in uv__getpwuid_r (Darshan Sen)
 
 * errors: map ESOCKTNOSUPPORT errno (Ryan Liptak)
 
 * doc: uv_read_stop always succeeds (Simon Kissane)
 
 * inet: fix inconsistent return value of inet_ntop6 (twosee)
 
 * darwin: fix -Wsometimes-uninitialized warning (twosee)
 
 * stream: introduce uv_try_write2 function (twosee)
 
 * poll,win: UV_PRIORITIZED option should not assert (twosee)
 
 * src: DragonFlyBSD has mmsghdr struct too (David Carlier)
 
 * cleanup,win: Remove _WIN32 guards on threadpool (James M Snell)
 
 * freebsd: fix an incompatible pointer type warning (Darshan Sen)
 
 * core: Correct the conditionals for {cloexec,nonblock}_ioctl (Ali Mohammad
   Pur)
 
 * win,tcp: make uv_close work more like unix (Jameson Nash)
 
 * doc: more accurate list of valid send_handle's (twosee)
 
 * win,tcp: translate system errors correctly (twosee)
 
 * unix: implement cpu_relax() on ppc64 (Ben Noordhuis)
 
 * docs: move list of project links under PR control (Jameson Nash)
 
 * test: wrong pointer arithmetic multiplier (Erkhes N)
 
 * doc: switch discussion forum to github (Jameson Nash)
 
 * idna: fix OOB read in punycode decoder (Ben Noordhuis)
 
 * build: make sure -fvisibility=hidden is set (Santiago Gimeno)
 
 * illumos: event ports to epoll (tjarlama)
 
 * illumos,tty: UV_TTY_MODE_IO waits for 4 bytes (Joshua M. Clulow)
 
 * doc: add vtjnash GPG ID (Jameson Nash)
 
 * linux: read CPU model information on ppc (Richard Lau)
 
 * darwin: fix uv_barrier race condition (Guilherme Íscaro)
 
 * unix,stream: fix loop hang after uv_shutdown (Jameson Nash)
 
 * doc,udp: note that suggested_size is 1 max-sized dgram (Ryan Liptak)
 
 * mingw: fix building for ARM/AArch64 (Martin Storsjö)
 
 * unix: strnlen is not available on Solaris 10 (Claes Nästén)
 
 * sunos: restore use of event ports (Andy Fiddaman)
 
 * sunos,cmake: use thread-safe errno (Andy Fiddaman)
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEErq0KS2hnZ3UaDkrvNKJfsSgkZRQFAmD2OHUSHHZ0am5hc2hA
 Z21haWwuY29tAAoJEDSiX7EoJGUU6XsQAJqkq5qV54EEFQAIf/AV9e4pt5uua2iF
 bTyExNGyty5TW4OCytSxakLWS/9lN5vQo6/bjeUEfhq8a1BmLzJq5Nnmc8ntlYM6
 n89vZSRjgLNwQ2WuRV9akCMTPYydeJc6RboEjTDVlWtSr4QDCwK+fKgaMil+9uow
 Y8biEme/vIcpJNOE3IdhivUoS1Hl1PJrVbhJapHBQ6j4xf8CIrFBwn9qF0IX+Ngp
 9xZVvJFXQkZzqLqkHeMasGCp+hmQDnAiXKO3vbUJbeVwoCukDYmVG8Pb3H3RIyo9
 yZkdBpOZ1GEmnPY766IkArThM+/WBWTgz6pTOl59Zx0Wa5Dmr8ASUiauE/EEARS4
 v/QUQA13MS8cgOBhmPjrLQ9Kv6HPvLuZSjshEJz4RdL8aSThoQ7Om+AlR679wnyK
 vlcfNLoh+Jw1zCWKWO6c5BiqcB/8J/JPT2N0vMmT6+RZ8AiqyjGpBw+t1HeBkdW5
 CPJX06CXk7vsvCKbw4w8i8Xl40zm9yws5tO7ukG/lkmB5EUKhMe1z/5pTAWoFJV/
 srs6S+g3xmJ1oBeytjjEra/iJji/6jQ/oLbYeA+mvBxV5+hu7Mtnpzl0vWKrN5M2
 ewxOvJJtggT1V2WcVqYLmHdZpug+pspG6Uwm6/TG/379IFot3O4OjPZ8wlrLgaNt
 PU0FlUDCxyvT
 =gkXG
 -----END PGP SIGNATURE-----

Merge tag 'v1.42.0' into merge_1.42.0

PR-URL: https://github.com/libuv/libuv/pull/3245
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2021-07-23 13:32:16 -04:00
gengjiawen
97a903309f build: add asan checks
Fixes: https://github.com/libuv/libuv/issues/2999
PR-URL: https://github.com/libuv/libuv/pull/2998
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2020-10-21 14:52:58 +02:00
Jameson Nash
dec0723864 2020.08.26, Version 1.39.0 (Stable)
Changes since version 1.38.1:
 
 * unix: use relaxed loads/stores for clock id (Ben Noordhuis)
 
 * build,win: link to user32.lib and advapi32.lib (George Zhao)
 
 * unix: squelch harmless valgrind warning (ssrlive)
 
 * include: fx c++ style comments warnings (Turbinya)
 
 * build,cmake: Change installation location on MinGW (erw7)
 
 * linux: use copy_file_range for uv_fs_copyfile when possible (Carter Li)
 
 * win,tcp: avoid reinserting a pending request (
 
 * docs: improve the descriptions for get memory info (Juan Sebastian velez
   Posada)
 
 * test: add udp-mmsg test (Ryan Liptak)
 
 * udp: add uv_udp_using_recvmmsg query (Ryan Liptak)
 
 * doc: add more error constants (TK-one)
 
 * zos: fix potential event loop stall (Trevor Norris)
 
 * include: add internal fields struct to uv_loop_t (Trevor Norris)
 
 * core: add API to measure event loop idle time (Trevor Norris)
 
 * win,fs: use CreateDirectoryW instead of _wmkdir (Mustafa M)
 
 * win,nfc: fix integer comparison signedness (escherstair)
 
 * win,nfc: use
 
 * win,nfc: removed some unused variables (escherstair)
 
 * win,nfc: add missing return statement (escherstair)
 
 * win,nfc: disable clang-format for
 
 * darwin: use IOKit for uv_cpu_info (Evan Lucas)
 
 * test: fix thread race in process_title_threadsafe (Ben Noordhuis)
 
 * win,fs: avoid implicit access to _doserrno (Jameson Nash)
 
 * test: give hrtime test a custom 20s timeout (Jameson Nash)
 
 * build: add more failed test, for qemu version bump (gengjiawen)
 
 * unix: handle src, dest same in uv_fs_copyfile() (cjihrig)
 
 * unix: error when uv_setup_args() is not called (Ryan Liptak)
 
 * aix: protect uv_exepath() from uv_set_process_title() (Richard Lau)
 
 * fs: clobber req->path on uv_fs_mkstemp() error (tjarlama)
 
 * cmake: fix compile error C2001 on Chinese Windows (司徒玟琅)
 
 * test: avoid double evaluation in ASSERT_BASE macro (tjarlama)
 
 * tcp: fail instantly if local port is unbound (Bartosz Sosnowski)
 
 * doc: fix most sphinx warnings (Jameson Nash)
 
 * nfci: address some style nits (Jameson Nash)
 
 * unix: don't use _POSIX_PATH_MAX (Ben Noordhuis)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAl9EWmAACgkQdDQ5C9vp
 ucWLjxAAhKoJAz0z4MnTCn1wRss0QCIPQ+r7Be5QDbmLHW/z8maUy+WI0EO7TgKx
 4XHDgdEXel7/EtKFgfLMVx087WuwTT45Xx4W5yxLF1CgRsu3zyy/rLpX/aT4uEIj
 9QhZfY/s8H6LhJAyZwq/Km8UvG2Gbz01Y31aIXR6TdmBQ7MYr8JDu2KVYHMU0IZC
 pOju6C4JA09Z3PDtzxXAQj+xkzcWSgxkOTfRCmTbWcxsAhfUIse8zI84TW5STzGj
 7E0jq6hgdFimzVYX7WucfPtg1ugrnip84TgTrcVkrB7YIv1K72f0ZCtorrSBATAZ
 ZhbCY8vo+wRpPXTbNvtnPk05S3XYO+ImmGktZUl4lI0BzpmaXpAy2XRTYSylYJnB
 zSp4CtJnaG68ZxHf4/29+Fh/J6aesxalPaP0VJaSV1WWV9sMxRwzAix0CX5w8ZqI
 TwMdOiAYqQPw77jN08ED+teUROiPtodraqkSeORS/5W4Wr3QApOdXUKJz0VQ+mpm
 +J+I0wKyBbBiD/Pe/zrbW/182bfbZBa1HYpLMmGTov0gaLNup5pz1iNdVm8i9+KG
 3T9hSx+i36jbQ07MJG+UOunF3AqgUj7Sc5whrCVKcGpSThxN4dkSbMixGhBo86E1
 LcaqOEo6teIE+aZYm1lVUdLG7ZbygwH6FRnqyUHVWKumQsygCno=
 =tL0f
 -----END PGP SIGNATURE-----

Merge tag 'v1.39.0' into merge_1.39.0

PR-URL: https://github.com/libuv/libuv/pull/2969
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2020-08-27 11:37:05 -04:00
Jiawen Geng
b2cec846ef
build: add more failed test, for qemu version bump
Fixes: https://github.com/libuv/libuv/pull/2937
PR-URL: https://github.com/libuv/libuv/pull/2939
Reviewed-By: Jameson Nash <vtjnash@gmail.com>
2020-08-07 10:58:12 -04:00
Jameson Nash
66720786d1 2020.07.04, Version 1.38.1 (Stable)
Changes since version 1.38.0:
 
 * test: use last matching qemu version (cjihrig)
 
 * win, util: rearrange uv_hrtime (Bartosz Sosnowski)
 
 * test: skip signal_multiple_loops test on QEMU (gengjiawen)
 
 * build: add android build to CI (gengjiawen)
 
 * test: extend fs_event_error_reporting timeout (cjihrig)
 
 * build: link libkvm on netbsd only (Alexander Tokmakov)
 
 * linux: refactor /proc file reader logic (Ben Noordhuis)
 
 * linux: read load average from /proc/loadavg (Ben Noordhuis)
 
 * android: remove patch code for below 21 (gengjiawen)
 
 * win: fix visual studio 2008 build (Arenoros)
 
 * win,tty: fix deadlock caused by inconsistent state (lander0s)
 
 * unix: use relaxed loads/stores for feature checks (Ben Noordhuis)
 
 * build: don't .gitignore m4/ax_pthread.m4 (Ben Noordhuis)
 
 * unix: fix gcc atomics feature check (Ben Noordhuis)
 
 * darwin: work around clock jumping back in time (Ben Noordhuis)
 
 * udp: fix write_queue cleanup on sendmmsg error (Santiago Gimeno)
 
 * src: build fix for Android (David Carlier)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAl7/Yg8ACgkQdDQ5C9vp
 ucXgdg//euAx0jByjpOdc4RjLAXpq+iEDuLQXIzT3GmvK3g5+ymrB1HVkw455l7o
 gHY9f/GM+A8wZBcLoyfMywLiSD78/HOrHwQ1MGiieMm1hPFr8OXQ4Z25Bdx/GsE4
 2nCprDrfMrVUQs8eFVx30fjFvOymzhpHak173N6uBOVBLQRivQHSuOG4Dk7RJSAA
 iCIKQ6JulQ/yX0OFvvnYjwbnt5bCDlr1gTFX1HQZFi4dELIbdfaqn1AkY6COa4mc
 tKZRMC1rV81HejNAYFG2Js1QQaUKtMemyHUple6qRo/TYhsZXMaWShjOOHtBqT5X
 hQ8yqGLcaQhWXI7FlBK9aOFBc2/c7Jrxn78MFnd0C8kUHMT9oMhK3KOUHjJ4K5Zt
 sN06cS9Zj9Gpvcnzffohx6/0ePyIVHsEGBt8gRI3YCH4GR0A12WYc4Kr8YuJu11J
 7WVEjIpxZBRajOq8xfA4n6brM0s8gwJvCm2/ypYZKbQ0kz0ZZD5nOK+Ax+ukdg51
 cBtTyx0tme0bQPZkzJP5sMP6DqGKgHbMzeUueqJ5xXOuXWjnOZRWfxmT22RSc6vI
 9D+9p12GD81KlYoprbKk5Fg/adIW/kKrT1cFMeKgcKhyuq8B5maDoaN/FP0oIZc2
 p1Pv9KEJCo7gI35XwkEvEIDLJ1Ax8B8RQE+8sophzsxVxo5E+GE=
 =P+eq
 -----END PGP SIGNATURE-----

Merge tag 'v1.38.1' into merge_1.38.1

PR-URL: https://github.com/libuv/libuv/pull/2927
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2020-07-30 15:01:58 -04:00
Kevin Adler
4878e8284f
test: Test EBADF tty handling
PR-URL: https://github.com/libuv/libuv/pull/2753
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2020-04-06 05:58:54 -04:00
Jameson Nash
102a79fc20 2019.05.22, Version 1.29.1 (Stable)
Changes since version 1.29.0:
 
 * unix: simplify uv/posix.h include logic (cjihrig)
 
 * test: increase test timeout (cjihrig)
 
 * linux: fix sscanf() overflows reading from /proc (Ben Noordhuis)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAlzkAM0ACgkQdDQ5C9vp
 ucXyuA/+NhzStMozgVJQ6lYjIjFQX4brTRr94r/fD46IVm0zHmXSh9qhxX8CVRSq
 u+aw4NfL1O+QYH3GObYB2fn/zDWmw0wOvBdIj96esVUSxvXHQt4xuugO8WcBx9QN
 d8hVfmLE8SQotOCAvHeW5RJJj0Xj9XMHtlRecMZfWCXnGntoGMVGLKyy0b+mfA5w
 Z7qxQ5odSi5b18qabiqrLG+NSZTNbozDWcfvkdUeJtmkBSqJNIZIkTjzXDTAyw41
 DJKqmC2zn4Y95diK8z6ayW/FIYtogG75rKZSMDwkHyXEG1+SQ3MFDQBYOdnic/0b
 pMip31nHEn4NZT2JUPi3A3gvlZXtYrm5VxCVRDgMv+I9UQj2EBBfaWASZhtQ0KSh
 UvaBsyuDIHsgGoJUFvrzVx9EjUmFnLl2UIlukNcWL4QiV1bJDpd4VppIsfXUCiud
 UlGc7EEzCgAzxgiG+FTMOpQrDqgjyShJdoEpjzKroVi4DDmWBQoQVkZM3bGdiEOD
 3DXVTfsHrXTkLPC55xqtwAb1Rgyi3mPhSrfHroaPG9gjNrcy9mPHEm5aiIiJ+3gH
 nunWCgMauJgZzBTPYc1+fwpuRkGb7OmPwgsuqYo2B0uZ/nJ5cy9lmuyqCW6u+Ua6
 Nxa2PEoaDeyWvkIOd7sCn+FeeQ2eLcueGLAaGtQdVCano4dmg/c=
 =mp2y
 -----END PGP SIGNATURE-----

Merge tag 'v1.29.1' into merge_1.29.1

PR-URL: https://github.com/libuv/libuv/pull/2316
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-06-07 14:22:16 -04:00
Jameson Nash
c5593b51dc warnings: fix code that emits compiler warnings
PR-URL: https://github.com/libuv/libuv/pull/2066
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-11-29 11:21:44 -05:00
Jameson Nash
f6b3c7420f 2018.10.09, Version 1.23.2 (Stable)
Changes since version 1.23.1:
 
 * unix: return 0 retrieving rss on cygwin (cjihrig)
 
 * unix: initialize uv_interface_address_t.phys_addr (cjihrig)
 
 * test: handle uv_os_setpriority() windows edge case (cjihrig)
 
 * tty, win: fix read stop for raw mode (Bartosz Sosnowski)
 
 * Revert "Revert "unix,fs: fix for potential partial reads/writes"" (Jameson
   Nash)
 
 * unix,readv: always permit partial reads to return (Jameson Nash)
 
 * win,tty: fix uv_tty_close() (Bartosz Sosnowski)
 
 * doc: remove extraneous "on" (Ben Noordhuis)
 
 * unix,win: fix threadpool race condition (Anna Henningsen)
 
 * unix: rework thread barrier implementation (Ben Noordhuis)
 
 * aix: switch to libuv's own thread barrier impl (Ben Noordhuis)
 
 * unix: signal done to last thread barrier waiter (Ben Noordhuis)
 
 * test: add uv_barrier_wait serial thread test (Ali Ijaz Sheikh)
 
 * unix: optimize uv_fs_readlink() memory allocation (Ben Noordhuis)
 
 * win: remove req.c and other cleanup (Carlo Marcelo Arenas Belón)
 
 * aix: don't EISDIR on read from directory fd (Ben Noordhuis)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAlu7i04ACgkQdDQ5C9vp
 ucVulxAApmLPfx+89/GC2u9Jcv5N9yHBNxFh1WGf+EC6qCtikjQuhz/FmTHP/pzg
 Z+QbLJ3XBob6HeE5oestn9pap2XIg/GhGhGH0unp5EBTGkzR9HTn1IyKquzvR0kh
 A/seLAMTnrDae7i4NmAnbwjwW61mUEtpe+yu3Zrk2jLLpbprcJ867W8Z2Z0jbCu0
 VPZpdULx/gMJ0HjJ/bWt8j7yb+Unegt/1J/WweTy61Q0yBGuJ6v7nm0/Me6MkAJL
 SPXZqDL4UhEMV/HD+VpEGp5lRlPDtze/f6RX2o41EW79W5Ev5la6Pj1Mvf9DIkLp
 H0AgJsYRh3M0iYI2uHZbw/OD5PanjbvR9O7A743BRjkjvByuOsZwpZLjhAKMpnuv
 RlVzxDc3Vy8QfazMbUZ9XqzGMEyvoSZcDKGNLOOuCjF/JVJr6SUIRO/TvzDYumbv
 +zJJjkkeP1KrMI0+fMNin3zKmPkz6i9F9NZRzES8V1UPKZ+WECGadAn0iVQ892P3
 MUqjQtwc1YGgI66qoAufNjjTqi+2zBiMbz/b9ZlVLsOQjbVY3nCUTxBaUXRSruFR
 H+oTdn8ky0z0hcP9rsGHmFRrRJT5YO8Y61DSye8VpyvrxmxxzHCdyWV99b/ewmbD
 NRZBVxOBTN93Iu6vNkaAZHmOF59iRKHBIfjAsOYdTJg5mdBF3vc=
 =dR1F
 -----END PGP SIGNATURE-----

Merge tag 'v1.23.2' into merge_1.23.2

PR-URL: https://github.com/libuv/libuv/pull/2067
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-11-10 17:43:07 -05:00
Bartosz Sosnowski
b9a0840307
tty, win: fix read stop for raw mode
New Windows version requires `EventType` to be set to something
meaningful, otherwise WriteConsoleInputW() will fail with
`ERROR_INVALID_PARAMETER`. This sets it to `FOCUS_EVENT` which
is ignored by `uv_process_tty_read_raw_req()`.

Fixes: https://github.com/nodejs/node/issues/21773
PR-URL: https://github.com/libuv/libuv/pull/1989
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jameson Nash <vtjnash@gmail.com>
2018-09-26 13:46:25 -04:00
Jameson Nash
40498795ab stream: autodetect direction
Previously, we required the user to specify the expected read/write
flags for a pipe or tty. But we've already been asking the OS to tell us
what they actually are (fcntl F_GETFL), so we can hopefully just use
that information directly.

Fixes: https://github.com/libuv/libuv/issues/1936
PR-URL: https://github.com/libuv/libuv/pull/1964
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2018-09-19 18:19:28 +02:00
Santiago Gimeno
6e7da5fbc0 2018.08.18, Version 1.23.0 (Stable)
Changes since version 1.22.0:
 
 * win,pipe: restore compatibility with the old IPC framing protocol (Bert
   Belder)
 
 * fs: add uv_open_osfhandle (Bartosz Sosnowski)
 
 * doc: update Visual C++ Build Tools URL (Michał Kozakiewicz)
 
 * unix: loop starvation on successful write complete (jBarz)
 
 * win: add uv__getnameinfo_work() error handling (A. Hauptmann)
 
 * win: return UV_ENOMEM from uv_loop_init() (cjihrig)
 
 * unix,win: add uv_os_{get,set}priority() (cjihrig)
 
 * test: fix warning in test-tcp-open (Santiago Gimeno)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIzBAABCgAdFiEElK42Z1xGTWS6+mjddDQ5C9vpucUFAlt2LW8ACgkQdDQ5C9vp
 ucXlDBAAlCVoa6GZthYy7fOBddNn2410GVKNZTUwNZ+bZL6ctpFxhgoH/Vir2SVg
 /8Je+Se3jz6QXJx0cA2+gLZdZ+nmZn4cAOGo9p6pWq2SVhmtc7F89KkHc8DDG0GR
 yGF09utyM4fQL0pnDYLzg66iquQJPCd1BwP32LlHOM0kqDyqli+OVphw/X9ABeHl
 GFPMD8i8wuHAKcOQo7xLsIETZVax/LC6N7seeMxO2ZIdAZFSeBw4OEyHra9hLq2r
 eleTccsA5R+tZZE9gUyefZ4s0desZkfndC0iL3qoWaM+TVxwpuB379BquDwhVwC1
 CFaFv7HLikNjUgwTSz9nUbsqxni2z+QH5gmgaF7WWpPIJcSf3ZH4T8wW9abRwizR
 BIehRtVHEM+TmC3Hr1ttfnDjMoFtyO33Tw1lSpQ9vlhll+sotei8RP7+oPumjlAN
 rs6dfnZ2FTxjNDWG1yaDXxoh2GWwR9gbxr/SiL/ZhoNHukJNN+gPAamF11S3Sk0v
 +h+iC9dtdiOPPWipxCZ+xeB3Tdus5Z+HVgG7Se859nt1r0kwA5zKfGw9pv65La9g
 KZuTCZjgvx7fCh4Mcw+uVExJ1vTWy+x5kOKk4l62RQj+L9f1YJZxgljMrBQTG9AU
 s4hMGI4gDMblyVM35T3vHModFBvwY0Uy90hn/yBCNILGbznNmD0=
 =Uf50
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEYS8OrZQBYiN530QC8ow8jaM8A74FAlt/3vUACgkQ8ow8jaM8
 A76jzQ//fAIPMjf42ifdQhD3/EFskQ9AwdiPLmDALUM9qn5hzfGp6XZ/XJKq87kg
 i2tm9wqh8m+QknSbnRkZMjDQrpmQuOypS+mqBDTVuPHHJ5V53f0zgStqlZ2dE5h9
 B/5YcGTukVjK6BIlazFH5QO8urc9IsYefSvPp9gepO1XnLCzkE9OpVgL9jFTLcaG
 Yvovtkbm4tkdYlOYZEp8LitnocRH84eJCZZipA3cfwctaWShKjPL6i/vB6TsmyH2
 7QSdKcBkbYJ50r03gUSRYNQYpoJDJEg7eht/XGPVbUGMhcZ53oz6DqGE+bqalZ5P
 VbD76KC96tqDhW99nCUij/RdT4Xo7NbK2+RiMXznr2H3KkpIt3eKEdD62B3ax1Hc
 cNzk/fINareTe/6gPVg08A8Tzpsg48PNnLpGkzYpHghCn2XBR1iTtQNpIOa1UpxO
 Gqe+uEP8k08tQ/n9rpBzBnNsC+fCZQU6Q5LGpWnTXMRjNtQuWM99O9k06TBPmDWI
 AQyJ9MByEt5bwNqsIg9nVe+iXkxNbZBOLHmqbkDUWNTDhjY3+oVh8Dq/18nvfgMk
 dIIBrBa0FEGbG/r/uKpuMqNmxCQel8nkC0sQ5vdIN8CfzAfQnoMww93GyPEpQTSR
 FAwdk7ri+mGcGw3igUp8IsgAKwgjJAkkWzAX3gAwHrw1aoUnc60=
 =3idK
 -----END PGP SIGNATURE-----

Merge tag 'v1.23.0' into merge_1.23.0

PR-URL: https://github.com/libuv/libuv/pull/1952
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-08-24 12:33:18 +02:00
Ben Noordhuis
619937c783 unix,win: merge handle flags
Some long overdue refactoring that unifies more of the UNIX and Windows
backends.

PR-URL: https://github.com/libuv/libuv/pull/1904
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2018-06-29 22:24:52 +02:00
Saúl Ibarra Corretgé
7043c79c2a Merge branch 'v1.x' into merge-v1 2017-07-09 13:52:50 +02:00
Jameson Nash
68dafe9016 win: LEP-0005: remove uv_file
Since on Windows HANDLEs are not the same as file descriptors,
confusing the two meant that almost all APIs in libuv had to go through
a thin compatibility layer, adding needless complication.

This removes that layer of external indirection and instead
works with the native Win32 API directly.

See: https://github.com/libuv/leps/blob/master/005-windows-handles-not-fd.md

PR-URL: https://github.com/libuv/libuv/pull/1166
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2017-07-04 23:44:16 +02:00
Rasmus Christian Pedersen
51f3f56f34 test: fix VC++ compilation warning
This commit fixes the following warning:
warning C4047: char *' differs in levels of indirection from 'char
(*)[1]'

PR-URL: https://github.com/libuv/libuv/pull/1290
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-05-01 14:44:28 -04:00
Bert Belder
67a5c86b86 win,test: don't write uninitialized buffer to tty
Fixes an issue where the Windows-only tty_large_write attempts to write
an uninitialized buffer to the console.

PR-URL: https://github.com/libuv/libuv/pull/1212
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-01-30 00:54:35 -08:00
Santiago Gimeno
c2f0e4f64e
win,tty: fix MultiByteToWideChar output buffer
Make sure there's enough room in the output buffer by dynamically
allocating memory in case the size of the buffer needs to be greater
than 8192 characters.

PR-URL: https://github.com/libuv/libuv/pull/1143
Refs: https://github.com/libuv/libuv/pull/1138
Refs: https://github.com/libuv/libuv/pull/889
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>
2016-11-29 10:36:44 +01:00
Santiago Gimeno
445e3a1f06
Revert "Revert "win,tty: add support for ANSI codes in win10 v1511""
To bring back support for ANSI codes in win10 v1511.

This reverts commit 8cbabaa817.

PR-URL: https://github.com/libuv/libuv/pull/1143
Refs: https://github.com/libuv/libuv/pull/1138
Refs: https://github.com/libuv/libuv/pull/889
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>
2016-11-29 10:35:59 +01:00
Ben Noordhuis
8cbabaa817 Revert "win,tty: add support for ANSI codes in win10 v1511"
Causes regressions on Windows 10 in applications that use ANSI codes.

Also reverts commit 0895ccf ("win: fix typo in type name") and
commit d0c2641 ("win, tty: handle empty buffer in uv_tty_write_bufs".)

This reverts commit d0c26414b4.
This reverts commit 0895ccfc8c.
This reverts commit 58ccfd4c21.

PR-URL: https://github.com/libuv/libuv/pull/1138
Refs: https://github.com/libuv/libuv/issues/1135
Refs: https://github.com/libuv/libuv/pull/889
Refs: https://github.com/nodejs/node/issues/9542
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2016-11-15 16:52:42 +01:00
Hitesh Kanwathirtha
d0c26414b4 win, tty: handle empty buffer in uv_tty_write_bufs
In uv_tty_write_bufs, if the console supports Virtual Terminal sequences,
we try to convert the passed in utf8 buffer to utf16. However, we need
to check if the buffer is of non-zero length- otherwise,
MultiByteToWideChar returns an error.

Fixes: https://github.com/libuv/libuv/issues/1135
Fixes: https://github.com/nodejs/node/issues/9542
PR-URL: https://github.com/libuv/libuv/pull/1139
Refs: https://github.com/libuv/libuv/pull/889
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>
2016-11-15 09:54:25 +01:00
Saúl Ibarra Corretgé
2112e7a67c test: fix building pty test on Android
Fixes: https://github.com/libuv/libuv/issues/1029
PR-URL: https://github.com/libuv/libuv/pull/1030
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-09-05 10:11:13 +02:00
Jeffrey Clark
0a4b51fcb4 build: GNU/kFreeBSD support
autotools support only, gvp does not support kfreebsd detection.

PR-URL: https://github.com/libuv/libuv/pull/960
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-08-20 08:55:30 +02:00
sunjin.lee
791c817891 test: fix android build error.
Do not compile 'tty_pty' test for android.

PR-URL: https://github.com/libuv/libuv/pull/975
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-08-11 10:39:43 -04:00
Luca Bruno
7b9e25a9a9 test: skip tty_pty test if pty is not available
Do not let `tty_pty` test fail if no terminals are available
to `openpty()`.

PR-URL: https://github.com/libuv/libuv/pull/919
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-06-21 12:32:00 -04:00
João Reis
e51442bbc9 win,tty: fix read stop in line mode
Closing the handle does not make ReadConsoleW exit reliably on
Windows 7 and above. Thus, after switching from line to raw mode,
keypresses were held until enter was pressed. This makes ReadConsoleW
exit by writing a return keypress to its input buffer, similar to
what was already done for raw mode.

Fixes: https://github.com/libuv/libuv/issues/852
PR-URL: https://github.com/libuv/libuv/pull/866
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-05-16 23:05:35 +02:00
Enno Boland
387102b247 unix: open ttyname instead of /dev/tty
Find the real name of the tty using ttyname_r(3) instead of
opening "/dev/tty" which causes trouble if the fd doesn't point to the
controlling terminal.

PR-URL: https://github.com/libuv/libuv/pull/779
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-04-01 11:13:22 +02:00
Imran Iqbal
f5796d2fba test: fix test/test-tty.c for AIX
'/dev/random' causes 'isatty()' to return 1 on AIX[1]. This causes
an issue where 'dev/tty' is opened (hard coded in
src/unix/tty.c:uv_tty_init). Tried to replace the hardcoded value with
what is returned by 'ttyname()' but on AIX all that is returned is
'/dev/'.

This seems to be a bug with the AIX kernel.

[1]http://goo.gl/wGa7mf

PR-URL: https://github.com/libuv/libuv/pull/624
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-11-24 21:54:48 +01:00
Saúl Ibarra Corretgé
cdc10a907a test: remove LOG and LOGF variadic macros
Initial patch by @simar7, thanks!

PR-URL: https://github.com/libuv/libuv/pull/313
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-12 18:44:34 +02:00
Saúl Ibarra Corretgé
34da61b351 test: fix tty_file, close handle if initialized
If the handle is closed when it wasn't initialized, uv_close will fail.

PR-URL: https://github.com/libuv/libuv/pull/279
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-20 16:13:01 +01:00
Ben Noordhuis
fc9e66e555 unix: reject non-tty fds in uv_tty_init()
Reject file descriptors that correspond to regular files or char/block
devices.  Such file descriptors are incompatible with epoll and trigger
a run-time assert.

Fixes: https://github.com/libuv/libuv/issues/255
PR-URL: https://github.com/libuv/libuv/pull/259
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-03-11 16:45:51 +01:00
Ben Noordhuis
1df46fe478 unix: don't clobber errno in uv_tty_reset_mode()
uv_tty_reset_mode() is designed to be async signal-safe and is therefore
not allowed to clobber errno.

PR-URL: https://github.com/libuv/libuv/pull/259
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-03-11 16:45:50 +01:00
Ben Noordhuis
25d4abbabb test: use UV_TTY_MODE_* values in tty test
The UV_TTY_MODE_* enumeration values were introduced in commit 025602d
("tty: implement binary I/O terminal mode") but the test was not updated
to use them.  This commit rectifies that.

PR-URL: https://github.com/libuv/libuv/pull/259
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2015-03-11 16:45:48 +01:00
Saúl Ibarra Corretgé
e157dc9c67 test: skip tty test if detected width and height are 0
This happens in certain build environments such as Jenkins if
some tweaking is not performed in the host system.

PR-URL: https://github.com/libuv/libuv/pull/22
2014-12-02 23:57:06 +01:00
Luca Bruno
6462eaf4dc test: relax TTY availability assumptions
test-tty.c currently assumes that a TTY is available to the test runner,
and fails hard if not. This may not be true on some autobuilding
environment, making the build fail as shown in [0].
Instead, let's properly skip the test in such cases.

[0] http://ur1.ca/fr5bd

Signed-off-by: Luca Bruno <lucab@debian.org>
2013-10-08 16:26:04 +02:00
Ben Noordhuis
6607e70253 test: open stdout fd in write-only mode
Fixes #771.
2013-06-18 23:53:03 +02:00
Miroslav Bajtoš
fe2a3150c0 test: add error logging to tty unit test 2013-05-08 17:20:20 -07:00
Ben Noordhuis
4ba03ddd56 unix, windows: rename uv_run2 to uv_run
This changes the prototype of uv_run() from:

  int uv_run(uv_loop_t* loop);

To:

  int uv_run(uv_loop_t* loop, uv_run_mode mode);

Where `mode` is UV_RUN_DEFAULT, UV_RUN_ONCE or UV_RUN_NOWAIT.

Fixes #683.
2013-01-16 23:35:29 +01:00
Bert Belder
47eb03490a test: move loop cleanup code to the individual tests 2012-10-17 01:24:49 +02:00
Ben Noordhuis
8c78cb40ff unix: replace C99/C++ comments, fix build 2012-03-09 09:15:43 -08:00
Bert Belder
e53d7e3a11 Make test-tty pass with redirected stdio 2012-03-08 17:02:05 +01:00
Ben Noordhuis
bf8ccfce18 unix: fix segfault in uv_guess_handle()
Fixes #293.
2012-01-17 17:47:33 +01:00
Bruce Mitchener
d513d9bb41 Fix typos. 2011-11-30 14:35:13 +01:00