Commit Graph

722 Commits

Author SHA1 Message Date
Kári Tristan Helgason
8eed38fd4a
unix,win: add gecos field to uv_passwd_t
On Unix the gecos field usually contains the full name
of the user. This is returned by getpwuid_r() on Unix
and GetUserNameExW on Windows (falling back to
NameSamCompatible if the users display name is not set).

Co-authored-by: cjihrig <cjihrig@gmail.com>
Co-authored-by: Saúl Ibarra Corretgé <saghul@gmail.com>
Refs: https://github.com/libuv/libuv/pull/834
Fixes: https://github.com/libuv/libuv/issues/831
PR-URL: https://github.com/libuv/libuv/pull/1789
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2018-04-10 14:32:21 -04:00
cjihrig
d9459ed449
win: remove _WIN32_WINNT define
Refs: https://github.com/libuv/libuv/issues/1671
PR-URL: https://github.com/libuv/libuv/pull/1676
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-03-03 09:58:07 -05:00
Brad King
20cc969e5d
process: add CPU affinity mask option to uv_spawn
It allows setting the child process' CPU affinity mask.
Implement it on Linux, FreeBSD, and Windows for now, and fail with
UV_ENOTSUP on other platforms.

Fixes: https://github.com/libuv/libuv/issues/1389
PR-URL: https://github.com/libuv/libuv/pull/1527
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2018-02-28 22:12:12 +01:00
Brad King
6521405c07
misc: add function to get CPU affinity mask size
Implement it on Linux, FreeBSD, and Windows for now, and return
UV_ENOTSUP on other platforms.

Inspired-by: Kiran Pamnany <kiran.pamnany@intel.com>
Fixes: https://github.com/libuv/libuv/issues/1389
PR-URL: https://github.com/libuv/libuv/pull/1527
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2018-02-28 22:11:58 +01:00
Santiago Gimeno
f94282c7ab 2018.02.22, Version 1.19.2 (Stable)
Changes since version 1.19.1:
 
 * test: fix incorrect asserts (cjihrig)
 
 * test: fix a typo in test-fork.c (Felix Yan)
 
 * build: remove long-obsolete gyp workarounds (Ben Noordhuis)
 
 * build: split off tests into separate gyp file (Ben Noordhuis)
 
 * test: check uv_cond_timedwait more carefully (Jamie Davis)
 
 * include,src: introduce UV__ERR() macro (Mason X)
 
 * build: add url field to libuv.pc (Ben Noordhuis)
 
 * doc: mark IBM i as Tier 3 support (Jesse Gorzinski)
 
 * win,build: correct C2059 errors (Michael Fero)
 
 * zos: fix timeout for condition variable (jBarz)
 
 * win: CREATE_NO_WINDOW when stdio is not inherited (Nick Logan)
 
 * build: fix commmon.gypi comment (Ryuichi KAWAMATA)
 
 * doc: document uv_timer_start() on an active timer (Vladimír Čunát)
 
 * doc: add note about handle movability (Bartosz Sosnowski)
 
 * doc: fix syntax error in loop documentation (Bartosz Sosnowski)
 
 * osx,stream: retry sending handle on EMSGSIZE error (Santiago Gimeno)
 
 * unix: delay fs req register until after validation (cjihrig)
 
 * test: add tests for bad inputs (Joyee Cheung)
 
 * unix,win: ensure req->bufs is freed (cjihrig)
 
 * test: add additional fs memory management checks (cjihrig)
 -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIcBAABCgAGBQJajdXDAAoJEHQ0OQvb6bnF+gkQAIYnk1ujKETakcu/O8M/d+yu
 gZkLAnqkMYD5X5rTEFkaHrzrQMD85twxme+GgegSFweUDvhqVQWveeNG5zRJ8/ri
 HsysKioqBsMfzCtJw4W+wDLIL7ltja2vcZooTTyvrIArLd2zQ8sn0nHe/eTq2uKl
 wMPhup9qxl10THpevdab3AMr1jEJ3KSsFaNUaVLySf6DJJqY4pRV+ekDGQVrkNZU
 XzH67YN2XWP5dsavAVX0GsnQraX8kNWgYjcDK93D55hj93iyq+38ZYstEhNqIGF9
 9StzptoUyqK5KD5tyDYC2WmgwBJd9eAodmjCdq+ZP0td/irxEhQoRAX7aoAjBGzY
 j3vTb0JXhvvEghivap86mkxPhAQ6rmbGZkG/yOi6eexL/es1GwhGmfzE3NgUexCx
 nyKVCWqVo4IjL53+jndaX3wE4AIKpo0geah7f82v7cIJJqYN8DtaNN9imwZO3r7p
 WFUx2ujOYGuFcz1xbFNyLzBH0Rda2JnsvtAstGvWXSoXzCNSEU5PZ6rpn3jcOVU5
 mDjQ9z/x3kp25qp014+wxHD+mltZzcL8H8fJfQ9JkGWdYE+R3brzwib07GctdlKP
 3/PGH6vbDyiiCEiwfwjhjZpZWyJcaEuGegEc7J80uEm+/yq1/4HrdaFbI20D2heB
 NIj8XaaPt8Vqsafp0ZWp
 =Aa+M
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEYS8OrZQBYiN530QC8ow8jaM8A74FAlqRjUEACgkQ8ow8jaM8
 A77UBw//b71/tAhf1ZOEwouhCjuoy17PNrgfmpQFw8NbaJc6YALe2oQ+1+gc/GPp
 9kaPfjDLSlZwYJMVtiTmKaQoqYNj3Y6ZJatZYambZ89/3XCBjd4WbK2IMnpth+xU
 tLzvjd5RlNMNpyrdrlEXneZi5ql7/QeRLj85k2790LSSajODK8A4VoZZoRmfBL4S
 rnngc5BFI2MGNOyUcc4HBtAcusvt6KIZWxhiRHLa0vpNmrnUAcXqruxzp36+ct+3
 efy+9cx6uzbnqg7dv8WHljre+2we4NaHcH4W2zCkNuf0JrO9reJMjojBb3+NsVIt
 HBHonkVLvRf8eTv8VFoKQPqeMStVj2FtVRmuKqcZ8l/fZNH/Fz2R2tO2ZaLCrSax
 TkAiuLi7uOY32oBNNyI6GGwcJAD52ROl+UCBEoRCOpYVx6PWjZnun7zP7bYq+oJt
 h1qL7avrGfp7vG+ggDxfeEOlWZKeXBN6/uh+KnTFryxMwZ9GFNu46s2EttS2lATg
 eKvPXTPBF9xKVCxckDph5sBhT420SBt2xa8neeMMdEKXPaDPtyj9kMau6HeU84cO
 bcnGytFhlhx7qUv1sEO0gHp/fYkvdUYUhzsY5lWeVdz3U3j/YhQO+ErzBzhIOU+E
 arC+ldYO9eWzdgRxodOcHX6YFAEnHFeyXs5KfOKbUNdqD0dLNJQ=
 =lWVS
 -----END PGP SIGNATURE-----

Merge tag 'v1.19.2' into merge_1.19.2

PR-URL: https://github.com/libuv/libuv/pull/1753
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-02-24 17:04:48 +01:00
cjihrig
c5afc37e2a
2018.02.22, Version 1.19.2 (Stable)
Changes since version 1.19.1:

* test: fix incorrect asserts (cjihrig)

* test: fix a typo in test-fork.c (Felix Yan)

* build: remove long-obsolete gyp workarounds (Ben Noordhuis)

* build: split off tests into separate gyp file (Ben Noordhuis)

* test: check uv_cond_timedwait more carefully (Jamie Davis)

* include,src: introduce UV__ERR() macro (Mason X)

* build: add url field to libuv.pc (Ben Noordhuis)

* doc: mark IBM i as Tier 3 support (Jesse Gorzinski)

* win,build: correct C2059 errors (Michael Fero)

* zos: fix timeout for condition variable (jBarz)

* win: CREATE_NO_WINDOW when stdio is not inherited (Nick Logan)

* build: fix commmon.gypi comment (Ryuichi KAWAMATA)

* doc: document uv_timer_start() on an active timer (Vladimír Čunát)

* doc: add note about handle movability (Bartosz Sosnowski)

* doc: fix syntax error in loop documentation (Bartosz Sosnowski)

* osx,stream: retry sending handle on EMSGSIZE error (Santiago Gimeno)

* unix: delay fs req register until after validation (cjihrig)

* test: add tests for bad inputs (Joyee Cheung)

* unix,win: ensure req->bufs is freed (cjihrig)

* test: add additional fs memory management checks (cjihrig)
2018-02-21 15:25:38 -05:00
Mason X
89cbbc895b
include,src: introduce UV__ERR() macro
Using -errno, -E**, and -pthread_function() can be
error prone, and breaks compatibility with some operating
systems that already negate errno's (e.g. Haiku).

This commit adds a UV__ERR() macro that ensures libuv
errors are negative.

Fixes: https://github.com/libuv/help/issues/39
PR-URL: https://github.com/libuv/libuv/pull/1687
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2018-02-08 22:38:02 -05:00
cjihrig
faa52872b9
Now working on version 1.19.2 2018-01-19 15:22:56 -05:00
cjihrig
8202d17511
2018.01.20, Version 1.19.1 (Stable)
Changes since version 1.19.0:

* Revert "unix,tcp: avoid marking server sockets connected" (Ben
  Noordhuis)

* Revert "unix,fs: fix for potential partial reads/writes" (Ben
  Noordhuis)

* Revert "win: use RemoveDirectoryW() instead of _wmrmdir()" (Ben
  Noordhuis)

* cygwin: fix compilation of ifaddrs impl (Brad King)
2018-01-19 15:17:23 -05:00
cjihrig
1366e74120
Now working on version 1.19.1
Fixes: https://github.com/libuv/libuv/issues/1697
2018-01-17 10:50:30 -05:00
cjihrig
effbb7c9d2
2018.01.18, Version 1.19.0 (Stable)
Changes since version 1.18.0:

* core: add getter/setter functions for easier ABI compat (Anna
  Henningsen)

* unix: make get(set)_process_title MT-safe (Matt Harrison)

* unix,win: wait for threads to start (Ben Noordhuis)

* test: add threadpool init/teardown test (Bartosz Sosnowski)

* win, process: uv_kill improvements (Bartosz Sosnowski)

* win: set _WIN32_WINNT to 0x0600 (cjihrig)

* zos: implement uv_fs_event* functions (jBarz)

* unix,tcp: avoid marking server sockets connected (Jameson Nash)

* doc: mark Windows 7 as Tier 1 support (Bartosz Sosnowski)

* win: map 0.0.0.0 and :: addresses to localhost (Bartosz Sosnowski)

* build: install libuv.pc unconditionally (Ben Noordhuis)

* test: remove custom timeout for thread test on ppc (Ben Noordhuis)

* test: allow multicast not permitted status (Jérémy Lal)

* test: allow net unreachable status in udp test (Ben Noordhuis)

* unix: use SA_RESTART when setting our sighandler (Brad King)

* unix,fs: fix for potential partial reads/writes (Ben Wijen)

* win,build: do not build executable installer for dll (Bert Belder)

* win: allow directory symlinks to be created in a non-elevated context
  (Bert Belder)

* zos,test: accept SIGKILL for flaky test (jBarz)

* win: use RemoveDirectoryW() instead of _wmrmdir() (Ben Noordhuis)

* unix: fix uv_cpu_info() error on FreeBSD (elephantp)

* zos,test: decrease pings to avoid timeout (jBarz)
2018-01-17 10:46:26 -05:00
John Barboza
b01de7341f
zos: implement uv_fs_event* functions
This commit uses the Register File Interest feature on z/OS
to enable users to monitor file system events.
The poll call is used to check for file descriptors as well
as a message queue that z/OS will report file system events
on. The last item on the list used by poll will contain the
message queue id instead of a file descriptor.

Limitation:
Writes to a directory (that is, file creation and deletion)
do not generate a change message for a registered directory.

PR-URL: https://github.com/libuv/libuv/pull/1311
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-12-15 11:04:16 +01:00
cjihrig
e771ede069
win: set _WIN32_WINNT to 0x0600
This updates the value to Windows Vista.

Fixes: https://github.com/libuv/libuv/issues/1671
PR-URL: https://github.com/libuv/libuv/pull/1675
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2017-12-08 11:46:00 -05:00
Anna Henningsen
0d6525acae core: add getter/setter functions for easier ABI compat
Add getter/setter functions for the fields of public structs that
might be relevant to e.g. Node.js addons.

Through these methods, ABI compatibility for a subset of the ABI
is easier to achieve, since using them makes code independent
of the exact offsets of these fields.

The intended use case that prompted this are N-API addons for
Node.js, which look for more long-term ABI compatibility guarantees
than typical Node code. With these helper functions, using libuv
directly should no longer be an obstacle for such addons.

PR-URL: https://github.com/libuv/libuv/pull/1657
Refs: https://github.com/nodejs/node/issues/13512
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-12-02 09:51:25 +01:00
cjihrig
c6b7e19f81
Now working on version 1.18.1 2017-11-30 21:15:46 -05:00
cjihrig
1489c98b7f
2017.12.02, Version 1.18.0 (Stable)
Changes since version 1.17.0:

* aix: fix -Wmaybe-uninitialized warning (cjihrig)

* doc: remove note about SIGWINCH on Windows (Bartosz Sosnowski)

* Revert "unix,win: wait for threads to start" (Ben Noordhuis)

* unix,win: add uv_os_getpid() (Bartosz Sosnowski)

* unix: remove incorrect assertion in uv_shutdown() (Jameson Nash)

* doc: fix IRC URL in CONTRIBUTING.md (Matt Harrison)
2017-11-30 21:07:38 -05:00
Bartosz Sosnowski
d708df110a
unix,win: add uv_os_getpid()
Adds a multi platform way to get current process id.

PR-URL: https://github.com/libuv/libuv/pull/1661
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-11-30 20:11:21 -05:00
cjihrig
40a003b4e1
Now working on version 1.17.1 2017-11-23 20:36:59 -05:00
cjihrig
1344d2bb82
2017.11.25, Version 1.17.0 (Stable)
Changes since version 1.16.1:

* unix: avoid malloc() call in uv_spawn() (Ben Noordhuis)

* doc: clarify the description of uv_loop_alive() (Ed Schouten)

* win: map UV_FS_O_EXLOCK to a share mode of 0 (Joran Dirk Greef)

* win: fix build on case-sensitive file systems (Ben Noordhuis)

* win: fix test runner build with mingw64 (Ben Noordhuis)

* win: remove unused variable in test/test-fs.c (Ben Noordhuis)

* zos: add strnlen() implementation (jBarz)

* unix: keep track of bound sockets sent via spawn (jBarz)

* unix,win: wait for threads to start (Ben Noordhuis)

* test: add threadpool init/teardown test (Bartosz Sosnowski)

* test: avoid malloc() in threadpool test (Ben Noordhuis)

* test: lower number of tasks in threadpool test (Ben Noordhuis)

* win: issue memory barrier in uv_thread_join() (Ben Noordhuis)

* ibmi: add support for new platform (Xu Meng)

* test: fix test-spawn compilation (Bartosz Sosnowski)
2017-11-23 20:29:12 -05:00
Xu Meng
bb3d093bbb ibmi: add support for new platform
Support the IBM i platform.

- add a new file src/unix/ibmi.c
- extract the common functions from /src/unix/aix.c into aix-common.c
- update uv.gyp and include/uv-unix.h to enable the new file ibmi.c

PR-URL: https://github.com/libuv/libuv/pull/1601
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2017-11-22 12:18:04 +01:00
Joran Dirk Greef
1c4de1916e win: map UV_FS_O_EXLOCK to a share mode of 0
This is necessary to enable writing past the MBR of a raw block device.

Fixes: https://github.com/libuv/libuv/issues/1605
PR-URL: https://github.com/libuv/libuv/pull/1613
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2017-11-16 15:14:52 +01:00
cjihrig
6973886ac8
Now working on version 1.16.2 2017-11-10 12:03:09 -05:00
cjihrig
4056fbe464
2017.11.11, Version 1.16.1 (Stable)
Changes since version 1.16.0:

* unix: move net/if.h include (cjihrig)

* win: fix undeclared NDIS_IF_MAX_STRING_SIZE (Nick Logan)
2017-11-10 11:49:42 -05:00
cjihrig
c83f8b91af
unix: move net/if.h include
This commit moves the net/if.h include into src/getaddrinfo.c to
prevent AIX compilation errors. With these symbols exposed
publicly, Node.js compilation failed on AIX by exposing Free(),
which conflicts with another API.

Refs: https://github.com/nodejs/node/pull/16835
Refs: https://github.com/libuv/libuv/pull/1445
PR-URL: https://github.com/libuv/libuv/pull/1622
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-11-09 08:43:22 -05:00
cjihrig
921b030a59
Now working on 1.16.1 2017-11-06 11:31:12 -05:00
cjihrig
d68779f0ea
2017.11.07, Version 1.16.0 (Stable)
Changes since version 1.15.0:

* win: change st_blksize from `2048` to `4096` (Joran Dirk Greef)

* unix,win: add fs open flags, map O_DIRECT|O_DSYNC (Joran Dirk Greef)

* win, fs: fix non-symlink reparse points (Wade Brainerd)

* test: fix -Wstrict-prototypes warnings (Ben Noordhuis)

* unix, windows: map ENOTTY errno (Ben Noordhuis)

* unix: fall back to fsync() if F_FULLFSYNC fails (Joran Dirk Greef)

* unix: do not close invalid kqueue fd after fork (jBarz)

* zos: reset epoll data after fork (jBarz)

* zos: skip fork_threadpool_queue_work_simple (jBarz)

* test: keep platform_output as first test (Bartosz Sosnowski)

* win: fix non-English dlopen error message (Bartosz Sosnowski)

* unix,win: add uv_os_getppid() (cjihrig)

* test: fix const qualification compiler warning (Ben Noordhuis)

* doc: mark uv_default_loop() as not thread safe (rayrase)

* win, pipe: null-initialize stream->shutdown_req (Jameson Nash)

* tty, win: get SetWinEventHook pointer at startup (Bartosz Sosnowski)

* test: no extra new line in skipped test output (Bartosz Sosnowski)

* pipe: allow access from other users (Bartosz Sosnowski)

* unix,win: add uv_if_{indextoname,indextoiid} (Pekka Nikander)
2017-11-06 11:20:52 -05:00
Pekka Nikander
695afe8322
unix,win: add uv_if_{indextoname,indextoiid}
uv_if_indextoname() is used to convert an IPv6 scope_id
to an interface identifier string such as %eth0 or %lo.

uv_if_indextoiid() returns an IPv6 interface identifier.
On Unix it calls uv_if_indextoname(). On Windows it uses
snprintf() to return the numeric interface identifier as
a string.

Refs: https://github.com/nodejs/node/pull/14500
PR-URL: https://github.com/libuv/libuv/pull/1445
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-11-06 09:54:47 -05:00
Bartosz Sosnowski
fd02ab681b pipe: allow access from other users
Adds new uv_pipe_chmod function which can be used to make the pipe
writable or readable by all users.

PR-URL: https://github.com/libuv/libuv/pull/1386
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-11-06 15:45:00 +01:00
cjihrig
e8e6a8a500
unix,win: add uv_os_getppid()
Refs: https://github.com/nodejs/node/issues/14957
PR-URL: https://github.com/libuv/libuv/pull/1610
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2017-11-01 10:32:12 -04:00
Ben Noordhuis
e9cda2cfe7 unix, windows: map ENOTTY errno
PR-URL: https://github.com/libuv/libuv/pull/1582
Refs: https://github.com/libuv/libuv/issues/1579
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-10-05 22:29:18 +02:00
Joran Dirk Greef
4b666bd2d8 unix,win: add fs open flags, map O_DIRECT|O_DSYNC
Define stable cross-platform file open constants so that users can
pass `UV_FS_O_RDWR` rather than `_O_RDWR` (win) or `O_RDWR` (unix).

Map `UV_FS_O_DIRECT`, `UV_FS_O_DSYNC` and `UV_FS_O_SYNC` to
`FILE_FLAG_NO_BUFFERING` and `FILE_FLAG_WRITE_THROUGH` (win).

Fixes: https://github.com/libuv/libuv/issues/1550
PR-URL: https://github.com/libuv/libuv/pull/1567
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2017-10-03 12:49:54 +02:00
cjihrig
94f507535c
Now working on version 1.15.1 2017-10-02 19:41:06 -04:00
cjihrig
8b69ce1419
2017.10.03, Version 1.15.0 (Stable)
Changes since version 1.14.1:

* unix: limit uv__has_forked_with_cfrunloop to macOS (Kamil Rytarowski)

* win: fix buffer size in uv__getpwuid_r() (tux.uudiin)

* win,tty: improve SIGWINCH support (Bartosz Sosnowski)

* unix: use fchmod() in uv_fs_copyfile() (cjihrig)

* unix: support copying empty files (cjihrig)

* unix: truncate destination in uv_fs_copyfile() (Nick Logan)

* win,build: keep cwd when setting build environment (darobs)

* test: add NetBSD support to test-udp-ipv6.c (Kamil Rytarowski)

* unix: add NetBSD support in core.c (Kamil Rytarowski)

* linux: increase thread stack size with musl libc (Ben Noordhuis)

* netbsd: correct uv_exepath() on NetBSD (Kamil Rytarowski)

* test: clean up semaphore after use (jBarz)

* win,build: bump vswhere_usability_wrapper to 2.0.0 (Refael Ackermann)

* win: let UV_PROCESS_WINDOWS_HIDE hide consoles (cjihrig)

* zos: lock protect global epoll list in epoll_ctl (jBarz)

* zos: change platform name to match python (jBarz)

* android: fix getifaddrs() (Zheng, Lei)

* netbsd: implement uv__tty_is_slave() (Kamil Rytarowski)

* zos: fix readlink for mounts with system variables (jBarz)

* test: sort the tests alphabetically (Sakthipriyan Vairamani)

* windows: fix compilation warnings (Carlo Marcelo Arenas Belón)

* build: avoid -fstrict-aliasing compile option (jBarz)

* win: remove unused variables (Carlo Marcelo Arenas Belón)

* unix: remove unused variables (Sakthipriyan Vairamani)

* netbsd: disable poll_bad_fdtype on NetBSD (Kamil Rytarowski)

* netbsd: use uv__cloexec and uv__nonblock (Kamil Rytarowski)

* test: fix udp_multicast_join6 on NetBSD (Kamil Rytarowski)

* unix,win: add uv_mutex_init_recursive() (Scott Parker)

* netbsd: do not exclude IPv6 functionality (Kamil Rytarowski)

* fsevents: watch files with fsevents on macos 10.7+ (Ben Noordhuis)

* unix: retry on ENOBUFS in sendmsg(2) (Kamil Rytarowski)
2017-10-02 19:30:27 -04:00
Scott Parker
ec96b55438
unix,win: add uv_mutex_init_recursive()
Support the creation of recursive mutexes on Unix. A matching
API is added on Windows, however mutexes on Windows are always
recursive.

Refs: https://github.com/libuv/libuv/issues/1022
PR-URL: https://github.com/libuv/libuv/pull/1555
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-10-02 10:01:09 -04:00
cjihrig
1a682cb7c0
Now working on version 1.14.2 2017-09-06 09:50:12 -04:00
cjihrig
b0f9fb2a07
2017.09.07, Version 1.14.1 (Stable)
Changes since version 1.14.0:

* fs, win: add support for user symlinks (Bartosz Sosnowski)

* cygwin: include uv-posix.h header (Joel Winarske)

* zos: fix semaphore initialization (jBarz)

* zos: improve loop_count benchmark performance (jBarz)

* zos, test: flush out the oob data in callback (jBarz)

* unix,win: check for bad flags in uv_fs_copyfile() (cjihrig)

* unix: modify argv[0] when process title is set (Matthew Taylor)

* unix: don't use req->loop in uv__fs_copyfile() (cjihrig)

* doc: fix a trivial typo (Vladimír Čunát)

* android: fix uv_cond_timedwait on API level < 21 (Gergely Nagy)

* win: add uv__once_init() calls (Bartosz Sosnowski)

* unix,windows: init all requests in fs calls (cjihrig)

* unix,windows: return UV_EINVAL on NULL fs reqs (cjihrig)

* windows: add POST macro to fs functions (cjihrig)

* unix: handle partial sends in uv_fs_copyfile() (A. Hauptmann)

* Revert "win, test: fix double close in test runner" (Bartosz
  Sosnowski)

* win, test: remove surplus CloseHandle (Bartosz Sosnowski)
2017-09-06 09:41:30 -04:00
Saúl Ibarra Corretgé
d010030ad5 core: move all include files except uv.h to uv/
Fixes https://github.com/libuv/libuv/issues/1161
PR-URL: https://github.com/libuv/libuv/pull/1429
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-09-04 22:33:42 +02:00
cjihrig
c8ee8bef9b
Now working on version 1.14.1 2017-08-16 10:21:47 -04:00
cjihrig
e0d31e9e21
2017.08.17, Version 1.14.0 (Stable)
Changes since version 1.13.1:

* unix: check for NULL in uv_os_unsetenv for parameter name (André
  Klitzing)

* doc: add thread safety warning for process title (Matthew Taylor)

* unix: always copy process title into local buffer (Matthew Taylor)

* poll: add support for OOB TCP and GPIO interrupts (CurlyMoo)

* win,build: fix appveyor properly (Refael Ackermann)

* win: include filename in dlopen error message (Ben Noordhuis)

* aix: add netmask, mac address into net interfaces (Gireesh Punathil)

* unix, windows: map EREMOTEIO errno (Ben Noordhuis)

* unix: fix wrong MAC of uv_interface_address (XadillaX)

* win,build: fix building from Windows SDK or VS console (Saúl Ibarra
  Corretgé)

* github: fix link to help repo in issue template (Ben Noordhuis)

* zos: remove nonexistent include from autotools build (Saúl Ibarra
  Corretgé)

* misc: remove reference to pthread-fixes.h from LICENSE (Saúl Ibarra
  Corretgé)

* docs: fix guide source code example paths (Anticrisis)

* android: fix compilation with new NDK versions (Saúl Ibarra Corretgé)

* misc: add android-toolchain to .gitignore (Saúl Ibarra Corretgé)

* win, fs: support unusual reparse points (Bartosz Sosnowski)

* android: fix detection of pthread_condattr_setclock (Saúl Ibarra
  Corretgé)

* android: remove no longer needed check (Saúl Ibarra Corretgé)

* doc: update instructions for building on Android (Saúl Ibarra
  Corretgé)

* win, process: support semicolons in PATH variable (Bartosz Sosnowski)

* doc: document uv_async_(init|send) return values (Ben Noordhuis)

* doc: add Android as a tier 3 supported platform (Saúl Ibarra Corretgé)

* unix: add missing semicolon (jBarz)

* win, test: fix double close in test runner (Bartosz Sosnowski)

* doc: update supported windows version baseline (Ben Noordhuis)

* test,zos: skip chown root test (jBarz)

* test,zos: use gid=-1 to test spawn_setgid_fails (jBarz)

* zos: fix hr timer resolution (jBarz)

* android: fix blocking recvmsg due to netlink bug (Jacob Segal)

* zos: read more accurate rss info from RSM (jBarz)

* win: allow bound/connected socket in uv_tcp_open() (Maciej Szeptuch
  (Neverous))

* doc: differentiate SmartOS and SunOS support (cjihrig)

* unix: make uv_poll_stop() remove fd from pollset (Ben Noordhuis)

* unix, windows: add basic uv_fs_copyfile() (cjihrig)
2017-08-16 10:11:33 -04:00
cjihrig
766d7e9c0b
unix, windows: add basic uv_fs_copyfile()
Fixes: https://github.com/libuv/libuv/issues/925
PR-URL: https://github.com/libuv/libuv/pull/1465
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-08-15 10:43:49 -04:00
Saúl Ibarra Corretgé
7dabd57af4 android: fix compilation with new NDK versions
Fixes compiling with Android NDK when using Unified Headers (default
since r15).

Fixes: https://github.com/libuv/libuv/issues/1417
PR-URL: https://github.com/libuv/libuv/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-07-25 22:50:39 +02:00
Ben Noordhuis
8e76306ec2 unix, windows: map EREMOTEIO errno
PR-URL: https://github.com/libuv/libuv/pull/1424
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2017-07-17 13:31:58 +02:00
CurlyMoo
d731fd1bd9 poll: add support for OOB TCP and GPIO interrupts
Out-of-band TCP messages are used for TCP data
transmission outside (outband) the inbound TCP
data. These packets are sent with an
"urgent pointer", but previously discarded.

Additionally, when using (e)poll a POLLPRI is
triggered when an interrupt signal is received
on GPIO capable systems such as the Raspberry Pi.

PR-URL: https://github.com/libuv/libuv/pull/1040
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2017-07-12 23:04:34 +02:00
Saúl Ibarra Corretgé
f65e004aa3 unix,win: remove v1.x version of uv_get_osfhandle
It got refactored in
68dafe9016

PR-URL: https://github.com/libuv/libuv/pull/1413
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2017-07-12 22:55:23 +02:00
Saúl Ibarra Corretgé
7043c79c2a Merge branch 'v1.x' into merge-v1 2017-07-09 13:52:50 +02:00
cjihrig
d63030b0ba Now working on version 1.13.2 2017-07-06 18:49:48 -04:00
cjihrig
2bb4b68758 2017.07.07, Version 1.13.1 (Stable)
Changes since version 1.13.0:

* Now working on version 1.13.1 (cjihrig)

* build: workaround AppVeyor quirk (Refael Ackermann)
2017-07-06 18:42:36 -04:00
cjihrig
a7aa057113 Now working on version 1.13.1 2017-07-05 16:47:53 -04:00
cjihrig
8342fcaab8 2017.07.06, Version 1.13.0 (Stable)
Changes since version 1.12.0:

* Now working on version 1.12.1 (cjihrig)

* unix: avoid segfault in uv_get_process_title (Michele Caini)

* build: add a comma to uv.gyp (Gemini Wen)

* win: restore file pos after positional read/write (Bartosz Sosnowski)

* unix,stream: return error on closed handle passing (Santiago Gimeno)

* unix,benchmark: use fd instead of FILE* after fork (jBarz)

* zos: avoid compiler warnings (jBarz)

* win,pipe: race condition canceling readfile thread (Jameson Nash)

* sunos: filter out non-IPv4/IPv6 interfaces (Sebastian Wiedenroth)

* sunos: fix cmpxchgi and cmpxchgl type error (Sai Ke WANG)

* unix: reset signal disposition before execve() (Ben Noordhuis)

* unix: reset signal mask before execve() (Ben Noordhuis)

* unix: fix POLLIN assertion on server read (jBarz)

* zos: use stckf builtin for high-res timer (jBarz)

* win,udp: implements uv_udp_try_send (Barnabas Gema)

* win,udp: return UV_EINVAL instead of aborting (Romain Caire)

* freebsd: replace kvm with sysctl (Robert Ayrapetyan)

* aix: fix un-initialized pointer field in fs handle (Gireesh Punathil)

* win,build: support building with VS2017 (Refael Ackermann)

* doc: add instructions for building on Windows (Refael Ackermann)

* doc: format README (Refael Ackermann)
2017-07-05 11:55:39 -04: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