History log of /libuv/src/unix/stream.c (Results 51 – 75 of 251)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 391e818c 27-Jun-2017 John Barboza

unix: fix POLLIN assertion on server read

Certain systems like z/OS have more than one bit turned
on for POLLIN events. (e.g. #define POLLIN 0x03).
Asserting that all bits are turned

unix: fix POLLIN assertion on server read

Certain systems like z/OS have more than one bit turned
on for POLLIN events. (e.g. #define POLLIN 0x03).
Asserting that all bits are turned on would be invalid.
Instead, assert that *any* of those bits are turned on.

PR-URL: https://github.com/libuv/libuv/pull/1390
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...

# 404ee427 14-May-2017 Santiago Gimeno

unix,stream: return error on closed handle passing

Return `EBADF` when trying to send a handle which, while enqueued, was
closed.

Fixes: https://github.com/libuv/libuv/issues/80

unix,stream: return error on closed handle passing

Return `EBADF` when trying to send a handle which, while enqueued, was
closed.

Fixes: https://github.com/libuv/libuv/issues/806
PR-URL: https://github.com/libuv/libuv/pull/1352
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 580f0327 11-Apr-2017 Brad King

cygwin: disable non-functional ipc handle send

On Cygwin `recvmsg` always sets `msg_controllen` to zero on a
message received from a named pipe. Therefore we cannot use
`sendmsg` to

cygwin: disable non-functional ipc handle send

On Cygwin `recvmsg` always sets `msg_controllen` to zero on a
message received from a named pipe. Therefore we cannot use
`sendmsg` to send handles for ipc. Return failure early from
this code path as `ENOSYS`.

Skip tests requiring this feature since it is not available.

PR-URL: https://github.com/libuv/libuv/pull/1312
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...

# 2e197418 08-Apr-2017 Brad King

cygwin: recognize EOF on named pipe closure

On Cygwin a named pipe closed by terminating a child process
may be reported via `ECONNRESET` on the next read. Teach
`uv__read` to inter

cygwin: recognize EOF on named pipe closure

On Cygwin a named pipe closed by terminating a child process
may be reported via `ECONNRESET` on the next read. Teach
`uv__read` to interpret this as end of file.

This fixes the `spawn_and_kill_with_std` test.

PR-URL: https://github.com/libuv/libuv/pull/1312
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...

# ff360e7f 03-May-2017 John Barboza

zos: do not inline OOB data by default

It was previously assumed that OOB data had to be
inlined but that is incorrect.

PR-URL: https://github.com/libuv/libuv/pull/1347
Revi

zos: do not inline OOB data by default

It was previously assumed that OOB data had to be
inlined but that is incorrect.

PR-URL: https://github.com/libuv/libuv/pull/1347
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>

show more ...

# d7cf7710 27-Jan-2017 jBarz

unix: use union to follow strict aliasing rules

With strict-aliasing rules, a char* type can be cast to any other
pointer type. However, that does not necessarily mean char array
typ

unix: use union to follow strict aliasing rules

With strict-aliasing rules, a char* type can be cast to any other
pointer type. However, that does not necessarily mean char array
type. So instead of de-referencing a char array, use a union with an
additional char member for aliasing.

PR-URL: https://github.com/libuv/libuv/pull/1211
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 011e02e3 30-Aug-2016 John Barboza

zos: make platform functional

Fix all functional test cases:

* use PLO compare,swap,store for atomic instruction
* do not use semaphore.h
* use xplink flag when linking

zos: make platform functional

Fix all functional test cases:

* use PLO compare,swap,store for atomic instruction
* do not use semaphore.h
* use xplink flag when linking
* scandir implementation
* nanosleep implementation
* add proctitle
* uv_loadavg
* uv_fs_event_init/start
* uv_fs_event_stop
* uv_exepath using __getthent syscall
* read free/total memory from mvs data areas
* uv_resident_set_memory implementation
* network interfaces implementation
* cpu_info implementation
* implement uv__hrtime
* make uv__fs_mkdtemp implementation
* epoll implementation for asyncio
* uv__fs_event_close implementation
* set process title
* read ancillary data that remains on queue
* ancillary data
* implement uv__fs_access
* use /dev/urandom for temporary directory name
* disable proctitle on zos completely

PR-URL: https://github.com/libuv/libuv/pull/1037
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 668d24d8 01-Nov-2016 Santiago Gimeno

unix: use uv__is_closing everywhere

PR-URL: https://github.com/libuv/libuv/pull/1117
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

# f4ef8976 19-Jul-2016 John Barboza

zos: track unbound handles and bind before listen

On zOS the listen call does not bind automatically if the socket
is unbound. Hence the manual binding to an arbitrary port is
requir

zos: track unbound handles and bind before listen

On zOS the listen call does not bind automatically if the socket
is unbound. Hence the manual binding to an arbitrary port is
required to be done manually.

PR-URL: https://github.com/libuv/libuv/pull/949
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# d796bedf 15-Aug-2016 Saúl Ibarra Corretgé

unix,win: make on_alloc_cb failures more resilient

Treat both the base being NULL or the length being 0 as ENOBUFS.

PR-URL: https://github.com/libuv/libuv/pull/997
Reviewed-By:

unix,win: make on_alloc_cb failures more resilient

Treat both the base being NULL or the length being 0 as ENOBUFS.

PR-URL: https://github.com/libuv/libuv/pull/997
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

# 39ee4121 06-Aug-2016 Ben Noordhuis

darwin: handle EINTR in /dev/tty workaround

On OS X, special files like /dev/null and /dev/tty don't work with
kqueue. Libuv falls back to select() in that case but the initial
prob

darwin: handle EINTR in /dev/tty workaround

On OS X, special files like /dev/null and /dev/tty don't work with
kqueue. Libuv falls back to select() in that case but the initial
probe didn't handle EINTR.

Introduced in August 2012 in commit 731adaca ("unix: use select()
for specific fds on OS X"), this bug was only ten days away from
celebrating its fourth birthday.

PR-URL: https://github.com/libuv/libuv/pull/979
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 2fc54807 15-Jun-2016 Saúl Ibarra Corretgé

unix: remove unneeded TODO note

It's already documented in
http://docs.libuv.org/en/v1.x/stream.html#c.uv_accept

PR-URL: https://github.com/libuv/libuv/pull/916
Reviewed-By:

unix: remove unneeded TODO note

It's already documented in
http://docs.libuv.org/en/v1.x/stream.html#c.uv_accept

PR-URL: https://github.com/libuv/libuv/pull/916
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>

show more ...

# 96b37293 22-May-2016 Michael Neumann

unix: correctly detect named pipes on DragonFly

This fixes test-stdio-over-pipes and test-pipe-sendmsg test cases.

~~~~
Assertion failed in test/test-stdio-over-pipes.c on l

unix: correctly detect named pipes on DragonFly

This fixes test-stdio-over-pipes and test-pipe-sendmsg test cases.

~~~~
Assertion failed in test/test-stdio-over-pipes.c on line 56: term_signal == 0
Assertion failed in test/test-pipe-sendmsg.c on line 86: pending == UV_NAMED_PIPE
~~~~

This fixes a longstanding issue with nodejs on DragonFly, which was
triggered whenever spawning a process and pipes were involed.

PR-URL: https://github.com/libuv/libuv/pull/884
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Imran Iqbal <imran@imraniqbal.org>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 375ba2d7 09-Apr-2016 Ben Noordhuis

unix: use POLL{IN,OUT,etc} constants directly

Remove the UV__POLL defines and use POLL{IN,OUT,etc} directly.
On Linux, we lean on the fact that the POLL constants correspond
one-to-o

unix: use POLL{IN,OUT,etc} constants directly

Remove the UV__POLL defines and use POLL{IN,OUT,etc} directly.
On Linux, we lean on the fact that the POLL constants correspond
one-to-one to their EPOLL counterparts.

Fixes: https://github.com/libuv/libuv/issues/816
PR-URL: https://github.com/libuv/libuv/pull/817
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# a7009a03 03-Mar-2016 Imran Iqbal

unix: fix uv__handle_type for AIX

'getsockname' does not handle UNIX domain sockets on AIX[1], it does not
fail but simply returns an empty structure with length 0.
If 'getsockname'

unix: fix uv__handle_type for AIX

'getsockname' does not handle UNIX domain sockets on AIX[1], it does not
fail but simply returns an empty structure with length 0.
If 'getsockname' does not fail (i.e. does not return -1) and the length
is 0 we know, on AIX, that the type is AF_UNIX.

This fixes test pipe_sendmsg.

[1] https://goo.gl/ozqcmS

PR-URL: https://github.com/libuv/libuv/pull/748
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

# f1a13e9b 06-Jan-2016 Saúl Ibarra Corretgé

osx: avoid compilation warning with Clang

~~~~
src/unix/stream.c:1089:19: warning: variable length array folded to
constant array as an extension [-Wgnu-folding-constant]
char

osx: avoid compilation warning with Clang

~~~~
src/unix/stream.c:1089:19: warning: variable length array folded to
constant array as an extension [-Wgnu-folding-constant]
char cmsg_space[CMSG_SPACE(UV__CMSG_FD_SIZE)];
~~~~

PR-URL: https://github.com/libuv/libuv/pull/677
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

# 14574964 08-Oct-2015 Ben Noordhuis

unix: squelch harmless valgrind warning

Valgrind complains that the msg_control pointer points to uninitialized
memory. While the memory is only used for writing data to, not for
re

unix: squelch harmless valgrind warning

Valgrind complains that the msg_control pointer points to uninitialized
memory. While the memory is only used for writing data to, not for
reading data from, and the warning is therefore bogus, it's still
annoying enough that I decided to squelch it by zeroing the memory.

The performance implications should be minimal because this code path
is only used when sending over a handle to another process.

The warning:

==14859== Syscall param sendmsg(msg.msg_control) points to
uninitialised byte(s)
==14859== at 0x5AF1A80: __sendmsg_nocancel (in
/usr/lib64/libpthread-2.21.so)
==14859== by 0x46350E: uv__write (stream.c:810)
==14859== by 0x464B24: uv_write2 (stream.c:1398)
==14859== by 0x421ACE: run_test (test-ipc-send-recv.c:104)
==14859== by 0x421DD1: run_test_ipc_send_recv_tcp
(test-ipc-send-recv.c:156)
==14859== by 0x406D2F: run_test_part (runner.c:404)
==14859== by 0x4058CD: main (run-tests.c:58)
==14859== Address 0xffefff934 is on thread 1's stack
==14859== in frame #1, created by uv__write (stream.c:742)

PR-URL: https://github.com/libuv/libuv/pull/565
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 5e761a5f 03-Oct-2015 Fedor Indutny

stream: support empty uv_try_write on unix

PR-URL: https://github.com/libuv/libuv/pull/558
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

# 40696138 17-Aug-2015 Brian White

stream: retry write on EPROTOTYPE on OSX

At least on OS X 10.10 "Yosemite", an EPROTOTYPE can occur
when trying to write to a socket that is shutting down.
By retrying the write afte

stream: retry write on EPROTOTYPE on OSX

At least on OS X 10.10 "Yosemite", an EPROTOTYPE can occur
when trying to write to a socket that is shutting down.
By retrying the write after EPROTOTYPE, we correctly get EPIPE.

PR-URL: https://github.com/libuv/libuv/pull/482
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 01544d86 07-Aug-2015 Saúl Ibarra Corretgé

Revert "stream: squelch ECONNRESET error if already closed"

This reverts commit 05a003a3f78d07185b7137601fe8e93561855a8d.

This commit triggerd "test-tls-hello-parser-failure" failur

Revert "stream: squelch ECONNRESET error if already closed"

This reverts commit 05a003a3f78d07185b7137601fe8e93561855a8d.

This commit triggerd "test-tls-hello-parser-failure" failure in io.js.
See the reference below for a more thorough explanation.

Refs: https://github.com/nodejs/io.js/pull/2310
PR-URL: https://github.com/libuv/libuv/pull/475
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

# 2bf78277 04-Aug-2015 ronkorving

unix: allow nbufs > IOV_MAX in uv_fs_{read,write}

This allows writing and reading any amount of buffers,
regardless of what IOV_MAX may be defined as.

It also moves the IOV_MAX

unix: allow nbufs > IOV_MAX in uv_fs_{read,write}

This allows writing and reading any amount of buffers,
regardless of what IOV_MAX may be defined as.

It also moves the IOV_MAX test from stream to core.

This is based on the excellent work of @bwijen in #269.

Refs: https://github.com/libuv/libuv/pull/269
PR-URL: https://github.com/libuv/libuv/pull/448
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# 05a003a3 17-Jun-2015 Santiago Gimeno

stream: squelch ECONNRESET error if already closed

Add new UV__POLLRDHUP event to be emitted when EPOLLRDHUP(in Linux) or
EV_EOF(in BSD / OSX) is detected and only if UV_READABLE is set.

stream: squelch ECONNRESET error if already closed

Add new UV__POLLRDHUP event to be emitted when EPOLLRDHUP(in Linux) or
EV_EOF(in BSD / OSX) is detected and only if UV_READABLE is set.

When a read returns ECONNRESET after a UV__POLLRDHUP event, emit EOF instead
of the error.

Add tcp-squelch-connreset test. Not to be run on Windows as it returns
ECONNRESET error.

Fixes in test-poll and test-tcp-open so they pass after these changes.

PR-URL: https://github.com/libuv/libuv/pull/403
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>

show more ...

# fb5df542 17-Jun-2015 Saúl Ibarra Corretgé

unix, win: prevent replacing fd in uv_{udp,tcp,pipe}_t

PR-URL: https://github.com/libuv/libuv/pull/400
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

# bddd6a84 26-May-2015 Saúl Ibarra Corretgé

core: add ability to customize memory allocator

This patch is composed by the work done in
https://github.com/libuv/libuv/pull/231 and
https://github.com/libuv/libuv/pull/287 plus so

core: add ability to customize memory allocator

This patch is composed by the work done in
https://github.com/libuv/libuv/pull/231 and
https://github.com/libuv/libuv/pull/287 plus some changes by yours
truly.

Thanks @beevik and @mattsta for their work on this!

PR-URL: https://github.com/libuv/libuv/pull/368
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

# 7005d295 25-May-2015 Fedor Indutny

stream: fix `select()` race condition

Call `uv__read()`/`uv__write()` before re-entering `select` thread.
Otherwise we might get second event from it, and will block indefinitely
on

stream: fix `select()` race condition

Call `uv__read()`/`uv__write()` before re-entering `select` thread.
Otherwise we might get second event from it, and will block indefinitely
on `uv__read()`/`uv__write()`.

Fix: https://github.com/libuv/libuv/issues/304
PR-URL: https://github.com/libuv/libuv/pull/365
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

1234567891011