Ben Noordhuis
538a562cdb
test: add tcp connect timeout test
2012-05-18 01:19:56 +02:00
Ben Noordhuis
073a48d6bf
unix: back out new idle watcher for now
...
Its semantics don't quite match what node.js expects. This breaks the
stdio_over_pipes and shutdown_close_pipe tests but that can't be helped.
2012-05-18 01:19:56 +02:00
Igor Zinkovsky
60af28abab
windows: support junctions with uv_fs_synlink
...
based on @piscisaureus implementation
2012-05-17 09:53:26 -07:00
Ben Noordhuis
9efa8b3571
unix, windows: rework reference counting scheme
...
This commit changes how the event loop determines if it needs to stay alive.
Previously, an internal counter was increased whenever a handle got created
and decreased again when the handle was closed.
While conceptually simple, it turned out hard to work with: you often want
to keep the event loop alive only if the handle is actually doing something.
Stopped or inactive handles were a frequent source of hanging event loops.
That's why this commit changes the reference counting scheme to a model where
a handle only references the event loop when it's active. 'Active' means
different things for different handle types, e.g.:
* timers: ticking
* sockets: reading, writing or listening
* processes: always active (for now, subject to change)
* idle, check, prepare: only active when started
This commit also changes how the uv_ref() and uv_unref() functions work: they
now operate on the level of individual handles, not the whole event loop.
The Windows implementation was done by Bert Belder.
2012-05-17 07:07:53 +02:00
Frank Denis
07622e767d
unix: change #if FIONBIO to #ifdef FIONBIO
...
Fixes compilation on Debian/ppc 6.0.4.
2012-05-16 16:59:42 +02:00
Ben Noordhuis
ad024040fc
test: prevent accidental division by zero
2012-05-07 16:41:05 +02:00
Andrius Bentkus
985b961d4e
Put POLL into the handle_map, so handle_size returns the size of it correctly.
2012-05-05 17:31:16 +02:00
Ben Noordhuis
b5f9bc861f
sunos: make fs.watch scale better
...
Instead of using one port per watch, use one port for all the watches.
This is a cherry-pick of commit 7326962 from v0.6 into master.
Conflicts:
include/uv-private/uv-unix.h
src/unix/core.c
src/unix/sunos.c
2012-05-05 00:51:32 +00:00
Bert Belder
1d24c76df7
Windows: fix MinGW
...
MinGW's headers are missing a definition for SIO_BASE_HANDLE
2012-05-05 00:05:36 +02:00
Bert Belder
4365896921
Windows: skip GetFileAttributes call when opening a file
...
It wasn't working, and everything seemed to work fine nonetheless. Removing it just saves a syscall.
2012-05-04 14:31:48 -07:00
Bert Belder
b750dec517
Windows: fix iocp emulation bugs for tcp handles
...
Makes ipc_tcp_connection pass on Windows XP
2012-05-04 13:54:02 -07:00
Bert Belder
ef9a9f1f78
Tests: make test-tcp-write-error pass on XP
2012-05-04 13:02:55 -07:00
Ben Noordhuis
6037684ef8
unix: zero out new loop struct
...
Fixes spurious segfaults in pyuv.
2012-05-04 15:02:33 +02:00
Ben Noordhuis
ce129ac6e2
windows: remove unused variables
2012-05-03 19:50:49 +02:00
Ben Noordhuis
395e256889
unix: don't use setlocale()
...
setlocale() is not inherently thread-safe. We'll have to live with the fact
that test/test-dlerror.c fails on systems with localized error messages.
2012-05-03 19:50:40 +02:00
Ben Noordhuis
5d19aa84f0
unix, win: rework uv_dlopen() API
2012-05-03 19:36:40 +02:00
Ben Noordhuis
93d16e6a84
unix: change uv_dl*() error code
...
Return UV_ENOENT instead of UV_EINVAL. UV_EINVAL was arbitrarily chosen and
turns out to be inconsistent with the Windows implementation.
Fixes #395 .
2012-05-03 16:54:59 +02:00
Bert Belder
acd0afb296
Merge branch 'poll'
...
Closes : #316 , #401
Ref: #265 , #349
2012-05-03 16:14:02 +02:00
Bert Belder
b9504f7987
Rename uv_platform_socket_t to uv_os_sock_t
2012-05-03 16:05:05 +02:00
Bert Belder
444ab19be8
Benchmarks: add size of uv_poll_t to benchmark-sizes
2012-05-03 15:52:57 +02:00
Bert Belder
beaf750700
Test: add tests for uv_poll
2012-05-03 15:52:57 +02:00
Bert Belder
d60d94e0c3
Unix: implement uv_poll
2012-05-03 15:52:56 +02:00
Bert Belder
d7a71761c4
Windows: implement uv_poll
2012-05-03 15:52:52 +02:00
Bert Belder
e1154d70ce
Api for polling external sockets
2012-05-03 15:51:37 +02:00
Bert Belder
e38755485e
Unix: namespace stream handle flags
2012-05-03 01:47:13 +02:00
Ben Noordhuis
1ebe14e494
linux: fix build error with old kernel headers
...
O_CLOEXEC was introduced in linux 2.6.23, don't assume it's available.
Fixes #400 .
2012-05-02 17:42:59 +02:00
Bert Belder
19aca7a7c0
Windows: add uv_msafd_poll, to support overlapped socket polling
2012-05-02 03:45:00 +02:00
Bert Belder
9f0dc2601e
Windows: fetch pointer for CancelIoEx on startup
2012-05-02 03:38:31 +02:00
Bert Belder
7d45cca12a
Windows: we're out of handle flags - arrange them more efficiently
2012-05-02 03:38:30 +02:00
Bert Belder
6367da25b3
Merge branch 'v0.6'
2012-05-01 16:54:27 +02:00
Ben Noordhuis
936795a2c8
windows: map ERROR_WRITE_PROTECT to UV_EROFS
2012-05-01 16:53:00 +02:00
Maciej Małecki
edb40b16ce
unix: map EROFS to UV_EROFS
...
Conflicts:
src/unix/error.c
2012-05-01 16:52:48 +02:00
Fedor Indutny
0efa3cf4d3
err: handle EIO errors on win/unix
2012-05-01 16:43:00 +02:00
Bert Belder
c7edea997e
Merge branch 'v0.6'
2012-05-01 16:21:11 +02:00
Bert Belder
32f6f6e2c7
Windows: map ERROR_NOT_SAME_DEVICE to UV_EXDEV
2012-05-01 16:20:52 +02:00
Keno Fischer
d13b1e0803
Windows: fix uv_fs_ftruncate to compile with Mingw32
...
Close : #382 , #397
Ref: #381
2012-04-29 02:32:27 +02:00
Bert Belder
b386c44e5e
Windows: always enable multicore compile
2012-04-29 02:18:17 +02:00
Bert Belder
0c32087973
Windows: disable minimal rebuild (/Gm)
...
If enabled multicore compile doesn't work.
2012-04-29 02:08:25 +02:00
Bert Belder
e2cae340a6
Merge branch 'v0.6'
...
Conflicts:
include/uv-private/uv-unix.h
include/uv-private/uv-win.h
include/uv.h
src/unix/error.c
src/unix/linux.c
src/uv-common.c
src/win/fs.c
test/test-fs.c
test/test-spawn.c
2012-04-29 00:01:09 +02:00
Erik Dubbelboer
623441685d
test-spawn failed to build on linux
...
- added missing header file
- converted c++ style comment to c style comment
2012-04-28 23:57:59 +02:00
Erik Dubbelboer
e2b6f423cb
test-spawn failed to build on linux
...
- added missing header file
- converted c++ style comment to c style comment
2012-04-28 23:55:54 +02:00
Ben Noordhuis
fac3b68fff
linux: add IN_MOVE_SELF to inotify event mask
...
Partially fixes joyent/node#3172 , behavior is now consistent with inotifywait.
2012-04-28 02:47:58 +02:00
Bert Belder
bfd6d465c7
Test for the uv_spawn's setuid and setgid options
2012-04-28 02:39:18 +02:00
Bert Belder
99a995a6b8
uv_spawn: support setting the child process' user and group id
2012-04-28 02:38:41 +02:00
Bert Belder
c862acc609
Windows: add mappings for UV_ENOENT
2012-04-28 02:09:29 +02:00
isaacs
b26fdde181
Map ENOMEM to UV_ENOMEM
2012-04-28 02:09:17 +02:00
Bert Belder
d41cc9118d
Windows: uv_spawn2 reports the wrong error when setuid/setgid is specified
2012-04-27 21:58:44 +02:00
Bert Belder
aea5db5da1
Windows: add mappings for UV_ENOENT
2012-04-27 21:24:27 +02:00
Bert Belder
66647bf934
Test for setuid/setgid
2012-04-27 21:05:15 +02:00
Bert Belder
c42ba103b7
Temporary API to support spawn with uid and gid options
2012-04-27 17:41:56 +02:00