Showing with 959 additions and 382 deletions.
  1. +7 −0 deps/uv/AUTHORS
  2. +46 −1 deps/uv/ChangeLog
  3. +1 −0 deps/uv/Makefile.am
  4. +6 −3 deps/uv/Makefile.mingw
  5. +1 −0 deps/uv/checksparse.sh
  6. +3 −3 deps/uv/configure.ac
  7. +13 −0 deps/uv/include/pthread-fixes.h
  8. +6 −0 deps/uv/include/uv-errno.h
  9. +1 −0 deps/uv/include/uv-unix.h
  10. +1 −1 deps/uv/include/uv-version.h
  11. +2 −3 deps/uv/include/uv-win.h
  12. +11 −20 deps/uv/include/uv.h
  13. +1 −1 deps/uv/libuv.pc.in
  14. +104 −7 deps/uv/src/unix/core.c
  15. +4 −0 deps/uv/src/unix/fs.c
  16. +12 −0 deps/uv/src/unix/internal.h
  17. +3 −3 deps/uv/src/unix/kqueue.c
  18. +21 −0 deps/uv/src/unix/linux-syscalls.c
  19. +1 −0 deps/uv/src/unix/linux-syscalls.h
  20. +28 −0 deps/uv/src/unix/pipe.c
  21. +1 −6 deps/uv/src/unix/process.c
  22. +23 −0 deps/uv/src/unix/pthread-fixes.c
  23. +166 −124 deps/uv/src/unix/stream.c
  24. +50 −15 deps/uv/src/unix/tty.c
  25. +3 −1 deps/uv/src/win/core.c
  26. +11 −7 deps/uv/src/win/fs.c
  27. +1 −3 deps/uv/src/win/internal.h
  28. +98 −65 deps/uv/src/win/pipe.c
  29. +6 −2 deps/uv/src/win/poll.c
  30. +5 −5 deps/uv/src/win/process-stdio.c
  31. +1 −1 deps/uv/src/win/process.c
  32. +5 −3 deps/uv/src/win/signal.c
  33. +0 −25 deps/uv/src/win/stream.c
  34. +3 −3 deps/uv/src/win/tcp.c
  35. +1 −1 deps/uv/src/win/tty.c
  36. +22 −5 deps/uv/src/win/util.c
  37. +4 −3 deps/uv/src/win/winsock.c
  38. +15 −12 deps/uv/test/benchmark-multi-accept.c
  39. +27 −2 deps/uv/test/task.h
  40. +3 −3 deps/uv/test/test-cwd-and-chdir.c
  41. +3 −1 deps/uv/test/test-fs.c
  42. +25 −15 deps/uv/test/test-ipc-send-recv.c
  43. +26 −15 deps/uv/test/test-ipc.c
  44. +2 −0 deps/uv/test/test-list.h
  45. +169 −0 deps/uv/test/test-pipe-sendmsg.c
  46. +1 −0 deps/uv/uv.gyp
  47. +8 −6 src/node.cc
  48. +8 −13 src/stream_wrap.cc
  49. +0 −4 src/stream_wrap.h
@@ -124,3 +124,10 @@ William Light <wrl@illest.net>
Oleg Efimov <o.efimov@corp.badoo.com>
Lars Gierth <larsg@systemli.org>
rcp <zerhacken@yahoo.com>
Alexis Campailla <alexis@janeasystems.com>
StarWing <weasley.wx@gmail.com>
thierry-FreeBSD <thierry@FreeBSD.org>
Isaiah Norton <isaiah.norton@gmail.com>
Raul Martins <raulms.martins@gmail.com>
David Capello <davidcapello@gmail.com>
Paul Tan <pyokagan@gmail.com>
@@ -1,4 +1,41 @@
2014.02.28, Version 0.11.21 (Unstable)
2014.03.11, Version 0.11.22 (Unstable)

Changes since version 0.11.21:

* unix, windows: map ERANGE errno (Saúl Ibarra Corretgé)

* unix, windows: make uv_cwd be consistent with uv_exepath (Saúl Ibarra
Corretgé)

* process: remove debug perror() prints (Fedor Indutny)

* windows: fall back for volume info query (Isaiah Norton)

* pipe: allow queueing pending handles (Fedor Indutny)

* windows: fix winsock status codes for address errors (Raul Martins)

* windows: Remove unused variable from uv__pipe_insert_pending_socket (David
Capello)

* unix: workaround broken pthread_sigmask on Android (Paul Tan)

* error: add ENXIO for O_NONBLOCK FIFO open() (Fedor Indutny)

* freebsd: use accept4, introduced in version 10 (Saúl Ibarra Corretgé)

* windows: fix warnings of MinGW -Wall -O3 (StarWing)

* openbsd, osx: fix compilation warning on scandir (Saúl Ibarra Corretgé)

* linux: always deregister closing fds from epoll (Geoffry Song)

* unix: reopen tty as /dev/tty (Saúl Ibarra Corretgé)

* kqueue: invalidate fd in uv_fs_event_t (Fedor Indutny)


2014.02.28, Version 0.11.21 (Unstable), 3ef958158ae1019e027ebaa93114160099db5206

Changes since version 0.11.20:

@@ -90,6 +127,14 @@ Changes since version 0.11.18:
* linux: fix C99/C++ comment (Fedor Indutny)


2014.02.19, Version 0.10.25 (Stable), d778dc588507588b12b9f9d2905078db542ed751

Changes since version 0.10.24:

* stream: start thread after assignments (Oguz Bastemur)

* unix: correct error when calling uv_shutdown twice (Saúl Ibarra Corretgé)

2014.01.30, Version 0.10.24 (Stable), aecd296b6bce9b40f06a61c5c94e43d45ac7308a

Changes since version 0.10.23:
@@ -158,6 +158,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
test/test-pipe-bind-error.c \
test/test-pipe-connect-error.c \
test/test-pipe-getsockname.c \
test/test-pipe-sendmsg.c \
test/test-pipe-server-close.c \
test/test-platform-output.c \
test/test-poll-close.c \
@@ -12,7 +12,7 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

CC = gcc
CC ?= gcc

CFLAGS += -Wall \
-Wextra \
@@ -72,8 +72,11 @@ OBJS = src/fs-poll.o \

all: libuv.a

clean:
-$(RM) $(OBJS) libuv.a

libuv.a: $(OBJS)
$(AR) crs $@ $^

# FIXME(bnoordhuis) Don't rebuild everything when a source file changes.
$(OBJS): $(OBJS:.o=.c) $(INCLUDES)
$(OBJS): %.o : %.c $(INCLUDES)
$(CC) $(CFLAGS) -c -o $@ $<
@@ -115,6 +115,7 @@ test/test-pass-always.c
test/test-ping-pong.c
test/test-pipe-bind-error.c
test/test-pipe-connect-error.c
test/test-pipe-sendmsg.c
test/test-pipe-server-close.c
test/test-platform-output.c
test/test-poll-close.c
@@ -13,7 +13,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

AC_PREREQ(2.57)
AC_INIT([libuv], [0.11.21], [https://github.com/joyent/libuv/issues])
AC_INIT([libuv], [0.11.22], [https://github.com/joyent/libuv/issues])
AC_CONFIG_MACRO_DIR([m4])
m4_include([m4/libuv-extra-automake-flags.m4])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects] UV_EXTRA_AUTOMAKE_FLAGS)
@@ -47,8 +47,8 @@ AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os], [solaris*], [true], [false])])
AM_CONDITIONAL([WINNT], [AS_CASE([$host_os], [mingw*], [true], [false])])
PANDORA_ENABLE_DTRACE
AC_CHECK_PROG(PKG_CONFIG, pkg-config, yes)
AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" = "xyes"])
AS_IF([test "x$PKG_CONFIG" = "xyes"], [
AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" != "x"])
AS_IF([test "x$PKG_CONFIG" != "x"], [
AC_CONFIG_FILES([libuv.pc])
])
AC_CONFIG_FILES([Makefile])
@@ -56,4 +56,17 @@ int pthread_barrier_destroy(pthread_barrier_t *barrier);
#endif /* defined(PTHREAD_BARRIER_SERIAL_THREAD) */

int pthread_yield(void);

/* Workaround pthread_sigmask() returning EINVAL on versions < 4.1 by
* replacing all calls to pthread_sigmask with sigprocmask. See:
* https://android.googlesource.com/platform/bionic/+/9bf330b5
* https://code.google.com/p/android/issues/detail?id=15337
*/
int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset);

#ifdef pthread_sigmask
#undef pthread_sigmask
#endif
#define pthread_sigmask(how, set, oldset) uv__pthread_sigmask(how, set, oldset)

#endif /* GOOGLE_BREAKPAD_COMMON_ANDROID_TESTING_PTHREAD_FIXES_H */
@@ -394,4 +394,10 @@
# define UV__ERANGE (-4034)
#endif

#if defined(ENXIO) && !defined(_WIN32)
# define UV__ENXIO (-ENXIO)
#else
# define UV__ENXIO (-4033)
#endif

#endif /* UV_ERRNO_H_ */
@@ -230,6 +230,7 @@ typedef struct {
uv_connection_cb connection_cb; \
int delayed_error; \
int accepted_fd; \
void* queued_fds; \
UV_STREAM_PRIVATE_PLATFORM_FIELDS \

#define UV_TCP_PRIVATE_FIELDS /* empty */
@@ -32,7 +32,7 @@

#define UV_VERSION_MAJOR 0
#define UV_VERSION_MINOR 11
#define UV_VERSION_PATCH 21
#define UV_VERSION_PATCH 22
#define UV_VERSION_IS_RELEASE 1

#endif /* UV_VERSION_H */
@@ -424,10 +424,9 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
uv_write_t ipc_header_write_req; \
int ipc_pid; \
uint64_t remaining_ipc_rawdata_bytes; \
unsigned char reserved[sizeof(void*)]; \
struct { \
WSAPROTOCOL_INFOW* socket_info; \
int tcp_connection; \
void* queue[2]; \
int queue_len; \
} pending_ipc_info; \
uv_write_t* non_overlapped_writes_tail;

@@ -137,6 +137,7 @@ extern "C" {
XX(EXDEV, "cross-device link not permitted") \
XX(UNKNOWN, "unknown error") \
XX(EOF, "end of file") \
XX(ENXIO, "no such device or address") \

#define UV_HANDLE_TYPE_MAP(XX) \
XX(ASYNC, async) \
@@ -398,17 +399,6 @@ typedef void (*uv_alloc_cb)(uv_handle_t* handle,
typedef void (*uv_read_cb)(uv_stream_t* stream,
ssize_t nread,
const uv_buf_t* buf);

/*
* Just like the uv_read_cb except that if the pending parameter is true
* then you can use uv_accept() to pull the new handle into the process.
* If no handle is pending then pending will be UV_UNKNOWN_HANDLE.
*/
typedef void (*uv_read2_cb)(uv_pipe_t* pipe,
ssize_t nread,
const uv_buf_t* buf,
uv_handle_type pending);

typedef void (*uv_write_cb)(uv_write_t* req, int status);
typedef void (*uv_connect_cb)(uv_connect_t* req, int status);
typedef void (*uv_shutdown_cb)(uv_shutdown_t* req, int status);
@@ -611,7 +601,6 @@ UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len);
size_t write_queue_size; \
uv_alloc_cb alloc_cb; \
uv_read_cb read_cb; \
uv_read2_cb read2_cb; \
/* private */ \
UV_STREAM_PRIVATE_FIELDS

@@ -660,13 +649,6 @@ UV_EXTERN int uv_read_start(uv_stream_t*,

UV_EXTERN int uv_read_stop(uv_stream_t*);

/*
* Extended read methods for receiving handles over a pipe. The pipe must be
* initialized with ipc == 1.
*/
UV_EXTERN int uv_read2_start(uv_stream_t*, uv_alloc_cb alloc_cb,
uv_read2_cb read_cb);


/*
* Write data to stream. Buffers are written in order. Example:
@@ -1213,6 +1195,15 @@ UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
*/
UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count);

/*
* Used to receive handles over ipc pipes.
*
* First - call `uv_pipe_pending_count`, if it is > 0 - initialize handle
* using type, returned by `uv_pipe_pending_type` and call
* `uv_accept(pipe, handle)`.
*/
UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle);
UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle);

/*
* uv_poll_t is a subclass of uv_handle_t.
@@ -2076,7 +2067,7 @@ UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
UV_EXTERN int uv_exepath(char* buffer, size_t* size);

/* Gets the current working directory */
UV_EXTERN int uv_cwd(char* buffer, size_t size);
UV_EXTERN int uv_cwd(char* buffer, size_t* size);

/* Changes the current working directory */
UV_EXTERN int uv_chdir(const char* dir);
@@ -7,5 +7,5 @@ Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
Description: multi-platform support library with a focus on asynchronous I/O.

Libs: -L${libdir} -luv
Libs: -L${libdir} -luv @LIBS@
Cflags: -I${includedir}