Commit Graph

472 Commits

Author SHA1 Message Date
Ben Noordhuis
c4611a4148 uv-unix: move stream->fd >= 0 asserts out of connection error path
on_connect callback must be invoked even if the connect() syscall
fails. stream->fd == -1 in that case.
2011-07-21 03:35:14 +02:00
Bert Belder
5f12c30f73 Correct idle_starvation test 2011-07-21 03:28:40 +02:00
Bert Belder
d9612fe0e7 More changes related to uv_close returning void 2011-07-21 03:27:43 +02:00
Ryan Dahl
b931c9313f uv_close returns void 2011-07-20 18:03:48 -07:00
Bert Belder
f0c20aa913 Test: active idle watcher should not block other events 2011-07-21 02:53:27 +02:00
Igor Zinkovsky
afc998759f Add uv_pipe_bind tests 2011-07-21 02:25:10 +02:00
Igor Zinkovsky
2765509430 Windows: Use PeekNamedPipe instead of non-blocking reads to peek at the pipe buffer 2011-07-21 02:25:09 +02:00
Ben Noordhuis
66f936bfd7 uv-unix: call uv__accept() instead of accept()
uv__accept() puts the socket in non-blocking close-on-exec mode,
accept() by itself does not.

Solves the case of the mysteriously hanging HTTP benchmarks.
2011-07-21 02:13:02 +02:00
Ben Noordhuis
332bbecd19 uv-unix: defer uv_pipe_connect callback to next tick 2011-07-20 23:06:44 +02:00
Ryan Dahl
685c083c79 Only sleep on 'make bench' not on 'make test' 2011-07-20 12:18:07 -07:00
Ryan Dahl
b13a446d6c Test for sync tcp and pipe connections 2011-07-20 12:14:21 -07:00
Ben Noordhuis
eb5e00fd1b runner: give helpers a chance to clean up after the test.
Fixes #50.
2011-07-20 21:13:00 +02:00
Ben Noordhuis
6c8acb0ed1 task: flush stderr after printing 2011-07-20 21:00:59 +02:00
Ryan Dahl
b38ba04698 Fix benchmark output for ares and getaddrinfo 2011-07-20 11:53:09 -07:00
Ryan Dahl
abf854597b Don't output progress in 'make bench'
Fixes #115.
2011-07-20 11:44:10 -07:00
Ryan Dahl
1fda135ff2 understand EBADF 2011-07-20 11:05:53 -07:00
Ryan Dahl
eadfb14884 unix: uv_write shouldn't assert fd >= 0 2011-07-20 10:51:08 -07:00
Ben Noordhuis
ce5eb6d85a config-unix: drop --std=c89 on cygwin, hides CLOCK_MONOTONIC.
Fixes #112.
2011-07-20 17:58:27 +02:00
Ben Noordhuis
e6075842e8 uv-unix: in uv_pipe_init: zero the _whole_ uv_pipe_t struct. 2011-07-20 01:14:17 +02:00
Ryan Dahl
a24d6e4bd8 new uv_req_t sizes in benchmark-sizes 2011-07-19 09:35:09 -07:00
Bert Belder
ca3cfbae74 Windows: use low-res event loop clock.
For much better performance. Closes #88.
2011-07-19 17:32:43 +02:00
Bert Belder
86f1ca90e5 Windows: implement uv_hrtime() 2011-07-19 15:01:12 +02:00
Bert Belder
3d2d97dbae Make test-hrtime a little better 2011-07-19 15:01:11 +02:00
Bert Belder
cd0dcce98c Windows: use _strdup instead of strdup 2011-07-19 15:01:11 +02:00
Bert Belder
96f2ef6bc6 Make test-getsockname compile with msvc 2011-07-19 15:01:10 +02:00
Bert Belder
8c4a097bc9 Windows: make clean deletes object files in src/win 2011-07-19 15:01:09 +02:00
Ben Noordhuis
c2ad51e39f test-bind-error: fix 'control reaches end of non-void function' 2011-07-19 13:51:31 +02:00
Ben Noordhuis
7cc527997f uv-common: fix 'initialization discards qualifiers from pointer target type' 2011-07-19 13:51:31 +02:00
Ben Noordhuis
3207f8ae40 uv-unix: fix 'passing argument 1 of ‘uv__stream_open’ from incompatible pointer type' 2011-07-19 13:51:31 +02:00
Ben Noordhuis
c0d4669f87 uv-unix: fix 'implicit declaration of function ‘accept4’' 2011-07-19 13:51:31 +02:00
Ryan Dahl
d4563a197a Allow and test for lazy uv_tcp_listen 2011-07-19 02:40:54 -07:00
Bert Belder
3a91232f66 Split up uv-win.c 2011-07-19 03:47:30 +02:00
Bert Belder
e909b95491 Add MinGW makefiles to VS project 2011-07-19 03:34:14 +02:00
Bert Belder
1a1cd6d1f5 Enable link-time code generation for msvc 2011-07-19 03:34:13 +02:00
Ryan Dahl
07b49ce59a add uv_ip4_name and uv_ip6_name 2011-07-18 17:39:04 -07:00
Ben Noordhuis
4eff34da43 uv-unix: pipes API implementation
Based on UNIX sockets to avoid the vagaries of FIFOs
in asynchronous mode. Currently unlinks stale sockets
before binding and cleans them up again after shutdown.
2011-07-19 00:58:02 +02:00
Igor Zinkovsky
4d31f838b0 Windows: handle ERROR_PIPE_BUSY in uv_pipe_connect 2011-07-18 13:02:32 -07:00
Bert Belder
c1bddb9677 Stop g++ from complaining about anonymous struct usage 2011-07-16 00:33:31 +02:00
Bert Belder
d56af313ee Revert "uv_win: uv_pipe_connect should return -1 on error"
This reverts commit 7b4607348a.
2011-07-15 20:26:08 +02:00
Shigeki Ohtsu
1be48f12a0 ev: define HAVE_SYNC_FILE_RANGE if kernel >= 2.6.17 *and* glibc version >= 2.6 2011-07-15 15:44:20 +02:00
Henry Rawas
d540872107 uv-win: allow listen on unbound tcp handle 2011-07-15 02:49:34 +02:00
Bert Belder
7b4607348a uv_win: uv_pipe_connect should return -1 on error 2011-07-15 02:38:35 +02:00
Bert Belder
902dd567b1 Benchmarks use the improved request api 2011-07-14 10:46:34 -07:00
Bert Belder
2f83928b6f Define union uv_any_req 2011-07-14 10:46:34 -07:00
Bert Belder
0ea4c87f8b Windows implementation of new request API
This changes uv-win to use the new uv_req subclasses.

It gets rid of the uv_req.flags field. There used to be only request flag
(UV_REQ_PENDING), and it was mostly obsolete; it only had a real purpose for
internal uv_read requests. Now we'll use the UV_HANDLE_READ_PENDING flag on
the handle instead.

This patch also simplifies the accept logic for named pipes on windows. We
no longer have a separate struct to store information about established
connections. Instead we just carry over the windows HANDLE from the accept
request to the client handle in uv_pipe_accept().
2011-07-14 10:46:08 -07:00
Ryan Dahl
abe0b1ea61 Better request API
Instead of uv_shutdown, uv_write, uv_connect taking raw uv_req_t we subclass
uv_req_t into uv_shutdown_t, uv_write_t, and uv_connect_t.

uv_req_init is removed.
2011-07-14 10:45:28 -07:00
Igor Zinkovsky
f5ff869488 allocate windows pipe handles on demand 2011-07-13 20:43:10 -07:00
Ben Noordhuis
9aff11026b runner: bring back benchmark output 2011-07-14 03:33:56 +02:00
Ben Noordhuis
86341f8e02 Makefile: disable test-% and bench-% targets
Targets bench-% and test-% mess up dependency resolution, disable for now.
2011-07-14 03:32:19 +02:00
Bert Belder
4c2d0545fc Whitespace fixes 2011-07-14 03:00:21 +02:00