Skip to content

Commit eaab802

Browse files
saghulMyles Borins
authored and
Myles Borins
committed
deps: upgrade libuv to 1.9.1
Fixes: #4002 Fixes: #5384 Fixes: #6563 Refs: #2680 (comment) PR-URL: #6796 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Johan Bergström <[email protected]> Reviewed-By: Myles Borins <[email protected]>
1 parent f56125e commit eaab802

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+962
-550
lines changed

deps/uv/AUTHORS

+4
Original file line numberDiff line numberDiff line change
@@ -253,3 +253,7 @@ Robert Chiras <[email protected]>
253253
Kári Tristan Helgason <[email protected]>
254254
Krishnaraj Bhat <[email protected]>
255255
Enno Boland <[email protected]>
256+
Michael Fero <[email protected]>
257+
Robert Jefe Lindstaedt <[email protected]>
258+
Myles Borins <[email protected]>
259+
Tony Theodore <[email protected]>

deps/uv/ChangeLog

+89
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,92 @@
1+
2016.05.17, Version 1.9.1 (Stable), d989902ac658b4323a4f4020446e6f4dc449e25c
2+
3+
Changes since version 1.9.0:
4+
5+
* test: handle root home directories (cjihrig)
6+
7+
* unix: implement uv__fs_futime for AIX 7.1 (Imran Iqbal)
8+
9+
* test: skip early bind tests if no IPv6 is supported (Saúl Ibarra Corretgé)
10+
11+
* win: fix var declaration to be C89 compliant (Michael Fero)
12+
13+
* unix: use POLL{IN,OUT,etc} constants directly (Ben Noordhuis)
14+
15+
* doc: add ability to live reload and regenerate HTML (Saúl Ibarra Corretgé)
16+
17+
* Revert "win,build: remove unused build defines" (cjihrig)
18+
19+
* linux: fix fd leaks in uv_cpu_info() error paths (Ben Noordhuis)
20+
21+
* linux: don't abort on malformed /proc/stat (Ben Noordhuis)
22+
23+
* linux: fix long lines in linux-core.c (Ben Noordhuis)
24+
25+
* test: fix fs_event_watch_file_current_dir for AIX (Imran Iqbal)
26+
27+
* unix,fs: code cleanup of uv_fs_event_start for AIX (Imran Iqbal)
28+
29+
* unix: delay signal handling until after normal i/o (Ben Noordhuis)
30+
31+
* android: pthread_sigmask() does not set errno (Oguz Bastemur)
32+
33+
* win: work around sharepoint scandir bug (Ben Noordhuis)
34+
35+
* unix: guard against clobbering errno in uv__free() (Ben Noordhuis)
36+
37+
* unix: remove unneeded SAVE_ERRNO wrappers (Ben Noordhuis)
38+
39+
* test: skip fs_event_close_in_callback on AIX (Imran Iqbal)
40+
41+
* win: add maxrss, pagefaults to uv_getrusage() (Robert Jefe Lindstaedt)
42+
43+
* test: set a big send buffer size for tcp_write_queue_order (Andrius Bentkus)
44+
45+
* unix: error on realpath if PATH_MAX is undefined (Myles Borins)
46+
47+
* unix: fix bug in barrier fallback implementation (Kári Tristan Helgason)
48+
49+
* build: bump android ndk version (Kári Tristan Helgason)
50+
51+
* build: always compile with -fvisibility=hidden (Ben Noordhuis)
52+
53+
* test: fix -Wformat warnings in platform test (Ben Noordhuis)
54+
55+
* win: clarify fsevents handling code (Saúl Ibarra Corretgé)
56+
57+
* test: fix POLLHDRUP related failures for AIX (Imran Iqbal)
58+
59+
* build, mingw: set LIBS in configure.ac (Tony Theodore)
60+
61+
* win: improve uv__convert_utf16_to_utf8 (Saúl Ibarra Corretgé)
62+
63+
* win: simplified UTF16 -> UTF8 conversions (Saúl Ibarra Corretgé)
64+
65+
* win: remove unneeded condition (Saúl Ibarra Corretgé)
66+
67+
* darwin: work around condition variable kernel bug (Ben Noordhuis)
68+
69+
* darwin: make thread stack multiple of page size (Ben Noordhuis)
70+
71+
* build,win: rename platform to msbuild_platform (João Reis)
72+
73+
* gitignore: ignore VS temporary database files (João Reis)
74+
75+
* test: skip emfile on AIX (Imran Iqbal)
76+
77+
* unix: use system allocator for scandir() (cjihrig)
78+
79+
* common: release uv_fs_scandir() array (cjihrig)
80+
81+
* win: call uv__fs_scandir_cleanup() (cjihrig)
82+
83+
* win,tty: fix read stop in line mode (João Reis)
84+
85+
* win,tty: don't duplicate handle for line reads (João Reis)
86+
87+
* win,tty: restore cursor after canceling line read (Alexis Campailla)
88+
89+
190
2016.04.08, Version 1.9.0 (Stable), 229b3a4cc150aebd6561e6bd43076eafa7a03756
291

392
Changes since version 1.8.0:

deps/uv/Makefile.am

+8-5
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ if WINNT
4343

4444
include_HEADERS += include/uv-win.h include/tree.h
4545
AM_CPPFLAGS += -I$(top_srcdir)/src/win \
46+
-DWIN32_LEAN_AND_MEAN \
4647
-D_WIN32_WINNT=0x0600
47-
LIBS += -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv
4848
libuv_la_SOURCES += src/win/async.c \
4949
src/win/atomicops-inl.h \
5050
src/win/core.c \
@@ -290,20 +290,23 @@ endif
290290

291291
if ANDROID
292292
include_HEADERS += include/android-ifaddrs.h \
293-
include/pthread-fixes.h
293+
include/pthread-barrier.h
294294
libuv_la_SOURCES += src/unix/android-ifaddrs.c \
295-
src/unix/pthread-fixes.c
295+
src/unix/pthread-fixes.c \
296+
src/unix/pthread-barrier.c
296297
endif
297298

298299
if DARWIN
299-
include_HEADERS += include/uv-darwin.h
300+
include_HEADERS += include/uv-darwin.h \
301+
include/pthread-barrier.h
300302
libuv_la_CFLAGS += -D_DARWIN_USE_64_BIT_INODE=1
301303
libuv_la_CFLAGS += -D_DARWIN_UNLIMITED_SELECT=1
302304
libuv_la_SOURCES += src/unix/darwin.c \
303305
src/unix/darwin-proctitle.c \
304306
src/unix/fsevents.c \
305307
src/unix/kqueue.c \
306-
src/unix/proctitle.c
308+
src/unix/proctitle.c \
309+
src/unix/pthread-barrier.c
307310
test_run_tests_LDFLAGS += -lutil
308311
endif
309312

deps/uv/Makefile.mingw

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ CFLAGS += -Wall \
2020
-Iinclude \
2121
-Isrc \
2222
-Isrc/win \
23+
-DWIN32_LEAN_AND_MEAN \
2324
-D_WIN32_WINNT=0x0600
2425

2526
INCLUDES = include/stdint-msvc2008.h \

deps/uv/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ Build documentation as HTML:
6060

6161
$ make html
6262

63+
Build documentation as HTML and live reload it when it changes (this requires
64+
sphinx-autobuild to be installed and is only supported on Unix):
65+
66+
$ make livehtml
67+
6368
Build documentation as man pages:
6469

6570
$ make man

deps/uv/android-configure

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export TOOLCHAIN=$PWD/android-toolchain
44
mkdir -p $TOOLCHAIN
55
$1/build/tools/make-standalone-toolchain.sh \
6-
--toolchain=arm-linux-androideabi-4.8 \
6+
--toolchain=arm-linux-androideabi-4.9 \
77
--arch=arm \
88
--install-dir=$TOOLCHAIN \
99
--platform=android-21
@@ -14,7 +14,7 @@ export CXX=arm-linux-androideabi-g++
1414
export LINK=arm-linux-androideabi-g++
1515
export PLATFORM=android
1616

17-
if [ $2 -a $2 == 'gyp' ]
17+
if [[ $2 == 'gyp' ]]
1818
then
1919
./gyp_uv.py -Dtarget_arch=arm -DOS=android -f make-android
2020
fi

deps/uv/appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: v1.9.0.build{build}
1+
version: v1.9.1.build{build}
22

33
install:
44
- cinst -y nsis

deps/uv/common.gypi

-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
'variables': {
3-
'visibility%': 'hidden', # V8's visibility setting
43
'target_arch%': 'ia32', # set v8's target architecture
54
'host_arch%': 'ia32', # set v8's host architecture
65
'uv_library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
@@ -156,9 +155,6 @@
156155
'cflags': [ '-pthread' ],
157156
'ldflags': [ '-pthread' ],
158157
}],
159-
[ 'visibility=="hidden"', {
160-
'cflags': [ '-fvisibility=hidden' ],
161-
}],
162158
],
163159
}],
164160
['OS=="mac"', {
@@ -170,9 +166,6 @@
170166
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
171167
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
172168
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
173-
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
174-
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
175-
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
176169
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
177170
'PREBINDING': 'NO', # No -Wl,-prebind
178171
'USE_HEADERMAP': 'NO',

deps/uv/configure.ac

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414

1515
AC_PREREQ(2.57)
16-
AC_INIT([libuv], [1.9.0], [https://github.com/libuv/libuv/issues])
16+
AC_INIT([libuv], [1.9.1], [https://github.com/libuv/libuv/issues])
1717
AC_CONFIG_MACRO_DIR([m4])
1818
m4_include([m4/libuv-extra-automake-flags.m4])
1919
m4_include([m4/as_case.m4])
@@ -58,6 +58,9 @@ AM_CONDITIONAL([NETBSD], [AS_CASE([$host_os],[netbsd*], [true], [false])
5858
AM_CONDITIONAL([OPENBSD], [AS_CASE([$host_os],[openbsd*], [true], [false])])
5959
AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os],[solaris*], [true], [false])])
6060
AM_CONDITIONAL([WINNT], [AS_CASE([$host_os],[mingw*], [true], [false])])
61+
AS_CASE([$host_os],[mingw*], [
62+
LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32"
63+
])
6164
AC_CHECK_HEADERS([sys/ahafs_evProds.h])
6265
AC_CHECK_PROG(PKG_CONFIG, pkg-config, yes)
6366
AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" != "x"])

deps/uv/docs/src/poll.rst

+6
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ closed immediately after a call to :c:func:`uv_poll_stop` or :c:func:`uv_close`.
3131
On windows only sockets can be polled with poll handles. On Unix any file
3232
descriptor that would be accepted by :man:`poll(2)` can be used.
3333

34+
.. note::
35+
On AIX, watching for disconnection is not supported.
3436

3537
Data types
3638
----------
@@ -101,6 +103,10 @@ API
101103
Calling :c:func:`uv_poll_start` on a handle that is already active is fine. Doing so
102104
will update the events mask that is being watched for.
103105
106+
.. note::
107+
Though UV_DISCONNECT can be set, it is unsupported on AIX and as such will not be set
108+
on the `events` field in the callback.
109+
104110
.. versionchanged:: 1.9.0 Added the UV_DISCONNECT event.
105111
106112
.. c:function:: int uv_poll_stop(uv_poll_t* poll)

deps/uv/include/pthread-barrier.h

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
Copyright (c) 2016, Kari Tristan Helgason <[email protected]>
3+
4+
Permission to use, copy, modify, and/or distribute this software for any
5+
purpose with or without fee is hereby granted, provided that the above
6+
copyright notice and this permission notice appear in all copies.
7+
8+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15+
*/
16+
17+
#ifndef _UV_PTHREAD_BARRIER_
18+
#define _UV_PTHREAD_BARRIER_
19+
#include <errno.h>
20+
#include <pthread.h>
21+
#include <semaphore.h> /* sem_t */
22+
23+
#define PTHREAD_BARRIER_SERIAL_THREAD 0x12345
24+
25+
/*
26+
* To maintain ABI compatibility with
27+
* libuv v1.x struct is padded according
28+
* to target platform
29+
*/
30+
#if defined(__ANDROID__)
31+
# define UV_BARRIER_STRUCT_PADDING \
32+
sizeof(pthread_mutex_t) + \
33+
sizeof(pthread_cond_t) + \
34+
sizeof(unsigned int) - \
35+
sizeof(void *)
36+
#elif defined(__APPLE__)
37+
# define UV_BARRIER_STRUCT_PADDING \
38+
sizeof(pthread_mutex_t) + \
39+
2 * sizeof(sem_t) + \
40+
2 * sizeof(unsigned int) - \
41+
sizeof(void *)
42+
#endif
43+
44+
typedef struct {
45+
pthread_mutex_t mutex;
46+
pthread_cond_t cond;
47+
unsigned threshold;
48+
unsigned in;
49+
unsigned out;
50+
} _uv_barrier;
51+
52+
typedef struct {
53+
_uv_barrier* b;
54+
char _pad[UV_BARRIER_STRUCT_PADDING];
55+
} pthread_barrier_t;
56+
57+
int pthread_barrier_init(pthread_barrier_t* barrier,
58+
const void* barrier_attr,
59+
unsigned count);
60+
61+
int pthread_barrier_wait(pthread_barrier_t* barrier);
62+
int pthread_barrier_destroy(pthread_barrier_t *barrier);
63+
64+
#endif /* _UV_PTHREAD_BARRIER_ */

deps/uv/include/uv-unix.h

+4-17
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@
3838

3939
#include <semaphore.h>
4040
#include <pthread.h>
41-
#ifdef __ANDROID__
42-
#include "pthread-fixes.h"
43-
#endif
4441
#include <signal.h>
4542

4643
#include "uv-threadpool.h"
@@ -60,6 +57,10 @@
6057
# include "uv-bsd.h"
6158
#endif
6259

60+
#ifndef PTHREAD_BARRIER_SERIAL_THREAD
61+
# include "pthread-barrier.h"
62+
#endif
63+
6364
#ifndef NI_MAXHOST
6465
# define NI_MAXHOST 1025
6566
#endif
@@ -136,22 +137,8 @@ typedef pthread_rwlock_t uv_rwlock_t;
136137
typedef UV_PLATFORM_SEM_T uv_sem_t;
137138
typedef pthread_cond_t uv_cond_t;
138139
typedef pthread_key_t uv_key_t;
139-
140-
#if defined(__APPLE__) && defined(__MACH__)
141-
142-
typedef struct {
143-
unsigned int n;
144-
unsigned int count;
145-
uv_mutex_t mutex;
146-
uv_sem_t turnstile1;
147-
uv_sem_t turnstile2;
148-
} uv_barrier_t;
149-
150-
#else /* defined(__APPLE__) && defined(__MACH__) */
151-
152140
typedef pthread_barrier_t uv_barrier_t;
153141

154-
#endif /* defined(__APPLE__) && defined(__MACH__) */
155142

156143
/* Platform-specific definitions for uv_spawn support. */
157144
typedef gid_t uv_gid_t;

deps/uv/include/uv-version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
#define UV_VERSION_MAJOR 1
3434
#define UV_VERSION_MINOR 9
35-
#define UV_VERSION_PATCH 0
35+
#define UV_VERSION_PATCH 1
3636
#define UV_VERSION_IS_RELEASE 1
3737
#define UV_VERSION_SUFFIX ""
3838

deps/uv/include/uv-win.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,8 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
483483
union { \
484484
struct { \
485485
/* Used for readable TTY handles */ \
486-
HANDLE read_line_handle; \
486+
/* TODO: remove me in v2.x. */ \
487+
HANDLE unused_; \
487488
uv_buf_t read_line_buffer; \
488489
HANDLE read_raw_wait; \
489490
/* Fields used for translating win keystrokes into vt100 characters */ \

0 commit comments

Comments
 (0)