Commit Graph

1562 Commits

Author SHA1 Message Date
Ben Noordhuis
ddb5f55922 unix: simplify uv__make_pipe() and uv__make_socketpair() 2012-06-11 02:47:39 +02:00
Bert Belder
5c30443555 unix: uv_async handles should not be unref'ed automatically 2012-06-10 02:25:20 +02:00
George Yohng
fbe99743d5 windows: uv_interface_addresses() should not report disconnected adapters 2012-06-09 22:38:15 +02:00
Ben Noordhuis
0ae026dc84 bench: add lots-of-timers benchmark 2012-06-09 18:42:06 +02:00
Maciej Małecki
c92788e503 test: fix test runner progress bar
Make % completed indicator actually show % completed instead of 0 %.
2012-06-09 18:09:26 +02:00
saghul
6a47e3ac7c windows: add missing include for limits.h 2012-06-09 02:51:18 +02:00
Bert Belder
b5a15f5cdf test: fix test-tcp-shutdown-after-write bug
It was calling uv_read_start before the uv_connect call had completed.
Although we want to allow this in the future, right now it's not
supported.
2012-06-08 03:11:53 +02:00
Ben Noordhuis
23b4e38d20 unix: make uv_shutdown() return UV_ENOTCONN
Return UV_ENOTCONN when the stream is not connected, not UV_EINVAL. Aligns
with uv-win.
2012-06-08 02:48:28 +02:00
Ben Noordhuis
dea45940cd unix: fix req cb / close cb invoke delay
Finalization of closed handles and associated requests was sometimes delayed
until an external event (network I/O, timeout, etc.) happened. This commit
addresses that.
2012-06-08 01:37:39 +02:00
Mark Cavage
9cb8bdc74e sunos: uv_interface_addresses needlessly #ifdef'd out 2012-06-07 10:51:45 -07:00
Ben Noordhuis
053d3afcbf Make ngx_queue_foreach() impl more explicit. 2012-06-07 17:00:33 +02:00
Ben Noordhuis
59cda86709 unix, test: make NANOSEC a 64 bits unsigned int
Avoids accidental overflow / truncation when it's used in 32 bits arithmetic.
2012-06-07 17:00:01 +02:00
Shigeki Ohtsu
e2aa39aecf test: change uv_hrtime() test to iterate upto 100 2012-06-07 15:42:35 +02:00
Iñaki Baz Castillo
b47af98e00 test: add tcp 'close on failed connect' test
Demonstrates temporary event loop stall with uv-unix. The issue is that pending
requests aren't processed until the next event (I/O, timeout, etc.) happens.

See #446, #447 and #448.
2012-06-07 00:06:24 +02:00
Ben Noordhuis
649ad50c32 unix: fix event loop stall
Undoes most of the changes made to libev in 7d2ea31 and c9396dd.
2012-06-06 05:12:28 +02:00
Ben Noordhuis
6fe753022f unix, windows: add debug mode handle printer
Debugging tool, prints a list of active/all handles. Not actively exported.
2012-06-06 04:25:12 +02:00
Bert Belder
24f8a53f4c windows: refactor uv_chdir implementation 2012-06-05 18:23:07 +02:00
Bert Belder
a0d2af0fd2 windows: detect when GetCurrentDirectoryW returns more than MAX_PATH chars
This should never happen. However the CRT has a code path to deal
with this situation, so at least detect it when it happens and return
an error, instead of potentially opening a security hole.
2012-06-05 18:23:06 +02:00
Ben Noordhuis
c8c9fe1c74 unix: move memset out of recvmsg inner loop 2012-06-05 15:42:20 +02:00
Ben Noordhuis
738b31eb3a unix: fix loop starvation under high network load
uv__read() and uv__udp_recvmsg() read incoming data in a loop. If data comes
in at high speeds, the kernel receive buffer never drains and said functions
never terminate, stalling the event loop indefinitely. Limit the number of
consecutive reads to 32 to stop that from happening.

The number 32 was chosen at random. Empirically, it seems to maintain a high
throughput while still making the event loop move forward at a reasonable pace.
2012-06-05 15:27:51 +02:00
Bert Belder
be9d1ce909 windows: cast STARTUP_INFO.cbReserved2 to WORD to avoid warnings 2012-06-05 00:58:51 +02:00
Bert Belder
829eaf3e3f windows: cast OVERLAPPED.Internal to NTSTATUS to avoid warnings 2012-06-05 00:58:50 +02:00
Bert Belder
1b75d36bab windows: refactor uv_exepath implementation 2012-06-05 00:58:50 +02:00
Bert Belder
c9f83e524c windows: refactor uv_cwd implementation 2012-06-05 00:58:49 +02:00
Ben Noordhuis
7d2ea31618 unix: fix event loop stall
Stop libev from entering the epoll_wait/kevent/port_getn/etc. syscall when
there are no active handles left, that will block indefinitely.
2012-06-04 23:36:50 +02:00
Bert Belder
0dff0e7d47 test: avoid compiler warnings due to size_t truncation 2012-06-04 18:04:49 +02:00
Bert Belder
64f8cf463d windows, unix: uv_buf_init should take unsigned int for the buffer length 2012-06-04 18:04:49 +02:00
Bert Belder
c0b530d079 Windows: avoid compiler warning 2012-06-04 18:04:48 +02:00
Bert Belder
60746b03cb windows: move some stream functions to stream-inl.h 2012-06-04 18:04:47 +02:00
Bert Belder
754a695df6 windows: move request macros to req-inl.h 2012-06-04 18:04:46 +02:00
Bert Belder
63b9b1d472 windows: move handle macros to handle-inl.h 2012-06-04 18:04:45 +02:00
Bert Belder
1974541bc9 windows: guard against including req-inl.h more than once 2012-06-04 18:04:45 +02:00
Bert Belder
3b907cf0ec windows: guard against including handle-inl.h more than once 2012-06-04 18:04:44 +02:00
Ben Noordhuis
d08070435d test: rename test tcp_dont_connect_after_write
Rename test tcp_dont_connect_after_write to tcp_connect_error_after_write,
teensy tad more descriptive.
2012-06-04 17:35:56 +02:00
Ben Noordhuis
76fa163117 test: add a 'write before connect' test 2012-06-04 17:12:20 +02:00
Ben Noordhuis
cb9ca142b5 unix: queue write reqs if stream is not connected 2012-06-04 16:55:04 +02:00
Fedor Indutny
a30e45f1d7 unix: remap fds 0-2 to /dev/null if ignore flag set 2012-06-04 16:14:21 +02:00
Ben Noordhuis
97801c6315 test: disable tcp_dont_connect_after_write on windows
For now. See #444.
2012-06-04 16:07:50 +02:00
Ben Noordhuis
b96ed68f46 test: add TCP connect error + write test
Original test contributed by Iñaki Baz Castillo. See #443.
2012-06-04 15:58:32 +02:00
Ben Noordhuis
c76c2066c6 unix, windows: add semaphore functions 2012-06-03 04:04:05 +02:00
Ben Noordhuis
7d97ba8003 unix: make mutex sanity checks non-optional 2012-06-03 04:01:26 +02:00
Ben Noordhuis
c03964f840 unix: set PTHREAD_MUTEX_ERRORCHECK in debug mode 2012-06-03 03:53:05 +02:00
Ben Noordhuis
28ed730bfb test: fix implicit function declaration warnings
Fixes the two following compiler warnings:

  ../test/run-tests.c: In function ‘maybe_run_test’:
  ../test/run-tests.c:117: warning: implicit declaration of function ‘write’
  ../test/run-tests.c:118: warning: implicit declaration of function ‘fsync’
2012-06-03 01:17:24 +02:00
Bert Belder
d8b95eaffb windows: inline a couple of handle functions 2012-06-02 23:38:16 +02:00
Bert Belder
d402604118 windows: inline a couple of inline request functions 2012-06-02 23:08:22 +02:00
Bert Belder
ed30365f54 uv-common: define INLINE macro 2012-06-02 23:06:43 +02:00
Bert Belder
dd1355da8d windows: stop poll watcher when watched socket is closed locally 2012-06-02 22:36:52 +02:00
Fedor Indutny
1cd9642cbb test: stdin/out/err should be set to /dev/null when ignored 2012-06-02 21:38:39 +02:00
Bert Belder
bdb8b3a1f2 windows: always set FDs 0-2 for spawned child processes 2012-06-02 21:17:03 +02:00
Bert Belder
4a07b8b7bd test-poll: make spurious wakeup detection slightly less strict 2012-06-02 21:12:10 +02:00