Commit Graph

522 Commits

Author SHA1 Message Date
Ben Noordhuis
8d5c64adf5 unix: map EAFNOSUPPORT error code 2011-11-02 17:20:00 +01:00
Igor Zinkovsky
7a53924aed windows: call SetErrorMode on startup to ask the system not to handle critical errors 2011-11-01 15:36:04 -07:00
Igor Zinkovsky
90b0b7d099 windows: increase the number of OVERLAPPED_ENTRYs passed to GetQueuedCompletionStatusEx 2011-11-01 10:27:46 -07:00
Igor Zinkovsky
9c6103a479 windows: add tests for uv_tcp_simultaneous_accepts 2011-11-01 01:13:13 -07:00
Igor Zinkovsky
78f4b120a1 windows: knob for tuning number of concurrent accept requests 2011-10-31 23:37:45 -07:00
Ben Noordhuis
bd82d02467 ev: fix epoll_init file descriptor leak
Fix the edge case where epoll_init() leaks a file descriptor when it is called
when the process has no open file descriptors.
2011-10-31 04:21:24 +01:00
Ben Noordhuis
70381cef9b unix: add getaddrinfo compatibility hack
Revisit in the future. This is not a good hack.
2011-10-30 02:55:12 +01:00
Ben Noordhuis
84bc18684e linux: omit superfluous fcntl(F_GETFD) syscall 2011-10-29 05:32:34 +02:00
Bert Belder
c0792e5405 Windows: the correct way to make TCP_KEEPALIVE work on MinGW 2011-10-29 02:00:04 +02:00
Luis Lavena
99b512e890 Windows: use SO_KEEPALIVE instead of TCP_KEEPALIVE
MinGW doesn't understand the latter. Closes GH-228.
2011-10-29 01:47:47 +02:00
Ben Noordhuis
ed2b5e60cb linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall 2011-10-29 01:31:11 +02:00
Bert Belder
90e15f1110 Implement uv_dlopen and friends 2011-10-29 00:52:34 +02:00
Bert Belder
c985ea4b10 Add uv__new_sys_error 2011-10-29 00:52:33 +02:00
Bert Belder
e9472fe02b Prepare libuv for shared library build 2011-10-29 00:52:32 +02:00
Ben Noordhuis
f2c6b4106d unix: have uv_strerror() handle getaddrinfo() errors 2011-10-28 01:31:55 +02:00
Igor Zinkovsky
314d0ee4f6 windows: don't fail uv_listen with UV_EALREADY if already listening. fixes #227. 2011-10-26 13:48:53 -07:00
Ben Noordhuis
3e4af533ae sunos: implement file watcher API 2011-10-26 03:49:34 +00:00
Igor Zinkovsky
d15b88a935 windows: implement uv_tcp_nodelay and uv_tcp_keepalive 2011-10-25 16:30:04 -07:00
Igor Zinkovsky
0cb2213db0 windows: when sharing a server socket, only call listen in the parent process 2011-10-25 13:23:53 -07:00
Ryan Dahl
b5d69f9a3e Map EHOSTUNREACH on Unix 2011-10-24 14:07:49 -07:00
Bert Belder
179f475b2a win: fix fs__readdir buffer overflow bug
Thanks Runner Mei for pointing this out. Closes GH-224.
2011-10-21 18:42:40 -07:00
Bert Belder
66f39250b7 Fix MinGW build 2011-10-21 18:42:39 -07:00
Bert Belder
45882e0bdc win: flush output buffer before doing a console reset 2011-10-21 18:42:38 -07:00
Ben Noordhuis
2dd02829c1 win: fix function prototype
Mea culpa.
2011-10-21 18:27:24 -07:00
Ben Noordhuis
ec825ffc62 unix: add TCP keepalive and no-delay control knobs 2011-10-21 16:08:26 -07:00
Ben Noordhuis
9da53df457 unix: fix uv_freeaddrinfo() segfault on sunos
The system freeaddrinfo() on SunOS does not handle NULL values graciously.
2011-10-21 14:20:36 -07:00
Igor Zinkovsky
773830604d windows: fixes queued_bytes for ipc pipes 2011-10-21 13:37:38 -07:00
Ben Noordhuis
d396799210 Change return type of uv_get_*_memory() functions
... from double to uint64_t. Limit use of floating point in public API as much
as possible.
2011-10-21 10:09:59 -07:00
Ben Noordhuis
9757a43a57 unix: remove unused variable 2011-10-21 10:09:43 -07:00
Bert Belder
fb7138614d Improve ansi escape code support on windows 2011-10-20 19:31:24 -07:00
Ryan Dahl
2c7e8bb137 Map EAI_NONAME to ENOENT 2011-10-20 17:13:48 -07:00
Igor Zinkovsky
28234d7336 windows: ref pipe writes to keep the event loop alive 2011-10-20 15:14:55 -07:00
Igor Zinkovsky
54982a23ef windows: stdio over non-overlapped pipes 2011-10-20 15:14:39 -07:00
Bert Belder
cb474b24c1 Ignore rogue DNS servers reported by windows 2011-10-20 15:10:14 -07:00
Ben Noordhuis
c0e5db2d49 linux: fix events after close bug 2011-10-20 15:02:50 -07:00
Bert Belder
51e9dbc2bb Work around windows udp bug, allow zero reads 2011-10-20 15:01:31 -07:00
Ben Noordhuis
2069a24e8c unix: fix file descriptor leak 2011-10-15 02:34:30 +02:00
Igor Zinkovsky
456f831389 windows: ensure that the ipc frame header is properly initialized 2011-10-14 15:38:02 -07:00
Frank DENIS
4ab1990064 unix: add support for OpenBSD 2011-10-14 01:59:45 +02:00
Igor Zinkovsky
fd9dbb1279 fix mingw build 2011-10-12 21:46:06 -07:00
Igor Zinkovsky
72b5976e83 windows: support utf8 in uv_fs functions
fixes #201
2011-10-12 13:24:22 -07:00
Ryan Dahl
c903bc3f32 unix: fix a few compiler warnings 2011-10-12 12:25:05 -07:00
Igor Zinkovsky
81303a72be fix fs_readdir_file on windows 2011-10-12 11:37:22 -07:00
Igor Zinkovsky
2216d38c29 windows: enable uv_fs_open to open directories 2011-10-12 10:42:41 -07:00
Ben Noordhuis
197f591ebc common: add UV_ENOTDIR error code 2011-10-12 16:43:29 +02:00
Ben Noordhuis
721ad8c74f sunos: implement uv_fs_futime() 2011-10-12 02:05:52 +00:00
Igor Zinkovsky
72fb469a43 windows: check for fd==-1 in uv_fs functions 2011-10-11 18:22:10 -07:00
Ben Noordhuis
e0a4e72640 sunos: look up free memory with sysconf(_SC_AVPHYS_PAGES) 2011-10-12 00:27:30 +00:00
Ben Noordhuis
04daabd58f win: unbreak build, use UV_ENOSYS 2011-10-11 23:17:58 +02:00
Ben Noordhuis
61343ecfbd common: add UV_ENOSYS error code 2011-10-11 23:15:41 +02:00
Ben Noordhuis
a3d495c0bc win: make uv_process_kill(proc, 0) report process status 2011-10-11 21:36:54 +02:00
Roman Shtylman
a3d1f6fd6f add uv_udp_set_membership for unix multicast support
- test-udp-multicast-join tests that multicast packets can be received
- stub src/win/udp.c until support added
2011-10-11 21:25:20 +02:00
Igor Zinkovsky
40b64a81cb windows: don't alloc readdir buffer for empty dirs 2011-10-11 11:47:05 -07:00
Igor Zinkovsky
4ac13090ca fix mingw build 2011-10-11 10:45:02 -07:00
Ben Noordhuis
47d22acfb2 unix: stub kqueue support functions on old platforms 2011-10-11 16:53:42 +02:00
Ben Noordhuis
f7f518aa7e sunos: fix uv_spawn()
SunOS does not set POLLHUP when the read end of a pipe is closed.
2011-10-10 23:59:54 +00:00
Ryan Dahl
5656e3c8bd Prepare for writable TTY to be blocking 2011-10-10 13:25:46 -07:00
Ben Noordhuis
41e8574920 unix: don't alloc memory for readdir on empty dir 2011-10-10 16:27:55 +02:00
Igor Zinkovsky
9f6024a6fa windows: fixes crash in pipe.c 2011-10-07 15:05:01 -07:00
Bert Belder
81c09cb2e3 win: add error mappings for ECONNRESET 2011-10-07 15:53:28 +02:00
Ryan Dahl
1c72aebd78 unix: IPC stdio stream should be duplex 2011-10-07 01:41:42 -07:00
Igor Zinkovsky
012fc0799f windows: fixes #193. Ensures that uv_fs_event deals with short and long names 2011-10-06 19:39:06 -07:00
Ben Noordhuis
5816f2d21c unix: avoid unnecessary read() syscall 2011-10-07 02:32:52 +02:00
Ryan Dahl
e3bcecdc42 unix: clean up messy code 2011-10-06 14:52:44 -07:00
Ryan Dahl
60c639fd57 Merge branch 'ipc2' 2011-10-06 10:18:13 -07:00
Igor Zinkovsky
34f719d7a5 windows ipc fixes 2011-10-06 10:17:42 -07:00
Igor Zinkovsky
90e88aabf6 remove stdio.c 2011-10-06 10:17:42 -07:00
Igor Zinkovsky
81c4043c83 ipc on windows 2011-10-06 10:17:42 -07:00
Ryan Dahl
61fab8d1ba unix: return UV_UNKNOWN_HANDLE when read2 doesn't recv one
unix passes ipc test on this comment.
2011-10-06 10:17:42 -07:00
Ryan Dahl
c920db9fd1 unix: handle passing kind of working 2011-10-06 10:17:42 -07:00
Ryan Dahl
bb6b629e6a make test-ipc accept the pending tcp server 2011-10-06 10:17:18 -07:00
Ryan Dahl
45306f2e7f unix: implement uv_write2 2011-10-06 10:17:18 -07:00
Ryan Dahl
6921d2fc07 Add argument to uv_pipe_init for IPC, unix impl 2011-10-06 10:17:07 -07:00
okuoku
d1016de597 FreeBSD: Fix FreeBSD build. 2011-10-06 17:00:50 +02:00
Ben Noordhuis
c7870465aa error reporting: return sensible messages for synthetic errors 2011-10-06 01:17:46 +02:00
Erick Tryzelaar
0303197a57 win: unify uv_{tcp,udp}_set_socket.
Fixes #205.
2011-10-04 16:48:19 -07:00
Erick Tryzelaar
4c329060ca unix,win: Start unifying shared bind code. 2011-10-04 16:46:39 -07:00
Erick Tryzelaar
85368e8d45 unix,win: Start unifying shared tcp connect code. 2011-10-04 16:46:39 -07:00
Erick Tryzelaar
e3f2631127 unix: bad connect addresses should error with EINVAL 2011-10-04 16:46:39 -07:00
Erick Tryzelaar
65fa8873f7 win: Fix error message. 2011-10-04 16:46:39 -07:00
Ryan Dahl
b590e12148 Fix darwin build 2011-10-04 16:44:36 -07:00
Ben Noordhuis
8e9a3384c9 unix: implement kqueue file watcher API
kqueue fds are not embeddable into other pollsets (select, poll, kqueue).
Hack the libev event loop to receive kqueue events with filter flags intact.
2011-10-04 23:28:36 +02:00
Fedor Indutny
a35591bbfc os: implement loadavg (not working on cygwin/win) 2011-10-04 18:15:14 +02:00
Fedor Indutny
33cb8775bc os: implement memory bindings
* us_get_free_memory
* us_get_total_memory
2011-10-04 18:10:35 +02:00
Ben Noordhuis
914a6fa241 sunos: pull in uv__set_sys_error prototype 2011-10-01 22:43:47 +00:00
Ryan Dahl
fe18438416 add uv_tty_reset_mode() 2011-09-30 13:09:06 -07:00
Ryan Dahl
153d3c7c57 unix: allow tty raw mode to be turned off 2011-09-30 11:21:51 -07:00
saghul
b594dba248 unix: fix memcpy when copying hints on uv_getaddrinfo 2011-09-29 15:32:26 +02:00
Igor Zinkovsky
c9ae7a6f95 windows: don't strip the trailing slash from filename if it follows a device name 2011-09-28 12:59:39 -07:00
Igor Zinkovsky
4fb120f649 windows: fix error reporting for uv_fs_ functions 2011-09-28 12:46:37 -07:00
Igor Zinkovsky
e7a53aed48 fix windows build 2011-09-28 11:52:08 -07:00
Erick Tryzelaar
23796d208c Fixes #76. Unify OS error reporting
As a nice fringe benefit, this also shaves a word
off of a windows TCP handle by replacing "uv_err_t
bind_error" with "int bind_error".
2011-09-27 19:05:33 -07:00
Erick Tryzelaar
1d7e61fafa unix,win: Check bind receives right socket type 2011-09-27 19:05:33 -07:00
Erick Tryzelaar
c260a39645 unix,win: Check connect receives right socket type 2011-09-27 19:05:33 -07:00
Erick Tryzelaar
17d4686bad win: Actually exit if uv_udp_bind only wants IPv6. 2011-09-27 19:05:33 -07:00
Erick Tryzelaar
efa720d1ba win: Removing uv_udp_connect6
This function isn't exposed or used internally. Nor
is there a windows implementation for IPv4, or
unix implementation for IPv4 or IPv6.

However, sockets do support UDP connections (which
just let you use send/recv instead of
sendto/recvfrom), so as an alternative, we could
add support for uv_udp_connect* for all OSs.
2011-09-27 19:05:33 -07:00
Bert Belder
14cdc80a05 win tty: Fix typo 2011-09-28 03:43:28 +02:00
Igor Zinkovsky
a1f98d55b1 fix c-ares on windows 2011-09-27 16:09:57 -07:00
Ben Noordhuis
2e4eca3b5e c-ares: upgrade to 1.7.5 2011-09-27 16:04:25 -07:00
Bert Belder
2c0fca9a41 win: Fix crash when calling uv_close from shutdown callback 2011-09-27 19:12:40 +02:00
Bert Belder
bdac72cc93 win tty: Implement uv_close and uv_shutdown 2011-09-27 19:12:39 +02:00
Bert Belder
554cb78eeb win tty: Use NULL consistently, don't mix with INVALID_HANDLE_VALUE 2011-09-27 19:12:33 +02:00
Bert Belder
f5f005d51d tty-win: fix absolute cursor positioning 2011-09-27 16:10:38 +02:00
Bert Belder
b0a9d601c8 win: tty fixes 2011-09-27 12:41:38 +02:00
Bert Belder
8f563e2963 Revert c-ares upgrade and includes fix
It broke the windows build.
This reverts commit 083c97e28b and commit b288afdf14.
2011-09-27 12:39:55 +02:00
Ben Noordhuis
9673abeab5 unix: fix pointer ownership bug
libuv realloc'd a pointer that belonged to and was later freed by libev.
2011-09-27 01:02:44 +02:00
Ben Noordhuis
b288afdf14 common: fix includes
Don't rely on c-ares to pull in the headers for inet_addr, net_pton and
inet_ntop. c-ares 1.7.4 did but 1.7.5 does not.
2011-09-26 22:41:17 +02:00
Ben Noordhuis
083c97e28b c-ares: upgrade to 1.7.5 2011-09-26 22:41:17 +02:00
Bert Belder
622eb99113 win: implement tty
loose end: line-buffered input reads ascii, not unicode
2011-09-26 19:31:32 +02:00
Bert Belder
77bc00e9ad win: uv_pipe_queue_read should set read_pending flag 2011-09-25 04:09:25 +02:00
Ben Noordhuis
d31a57dc78 unix: fix NULL pointer dereference 2011-09-25 02:53:27 +02:00
Ben Noordhuis
01441ab02f unix: fix close() of potentially uninitialized fd 2011-09-25 02:49:21 +02:00
Ben Noordhuis
8f617b93bc unix: darwin < 10.6 does not have fdatasync, use fsync 2011-09-24 05:20:07 +02:00
Ryan Dahl
03d0c57ea2 Remove uv_is_tty. Use uv_guess_handle instead. 2011-09-23 10:01:45 -07:00
Erick Tryzelaar
7e8645d101 unix,win: Make uv_freeaddrinfo to clean up addrinfo
Fixes #196
2011-09-23 09:31:01 -07:00
Fedor Indutny
7ce34f2ada added missing headers file 2011-09-23 09:20:20 -07:00
Ryan Dahl
03652596cf unix: add uv_guess_handle and uv_tty_get_winsize 2011-09-22 19:35:46 -07:00
Igor Zinkovsky
f9ad0a7bf6 windows: fire UV_CHANGE in case of overflow 2011-09-22 15:09:07 -07:00
Ben Noordhuis
3368d6c1a2 unix: stub file watcher implementation
The file watcher API has not been implemented on all Unices yet.
Provide stubs on those platforms so libuv at least compiles.
2011-09-22 23:55:05 +02:00
Igor Zinkovsky
019e6edf47 windows: NextEntryOffset is relative, not absolute 2011-09-22 10:36:35 -07:00
Ben Noordhuis
bee7112de0 unix: move container_of and SAVE_ERRNO to internal.h 2011-09-22 00:51:46 +02:00
Ben Noordhuis
2a1c32a60c linux: implement file watcher API 2011-09-21 13:23:49 -07:00
Igor Zinkovsky
1e0757ffda windows: file watcher 2011-09-21 13:13:34 -07:00
Ben Noordhuis
12d3680cd4 unix: fix warning: implicit declaration of function ‘isatty’ 2011-09-21 19:26:25 +02:00
Ben Noordhuis
236b96a8cf unix: define HAVE_FUTIMES on freebsd 2011-08-17 07:01:29 +02:00
Ben Noordhuis
c455f37803 unix: freebsd doesn't have fdatasync, do a full fsync instead 2011-08-17 06:40:39 +02:00
Ryan Dahl
c03d42607e More tty on unix fixes 2011-09-20 14:59:30 -07:00
Ryan Dahl
2ef8f359ee tty fixes for unix 2011-09-20 13:14:16 -07:00
Ryan Dahl
c1374ba587 Add uv_is_tty() 2011-09-20 11:48:47 -07:00
Igor Zinkovsky
ee115bfd8d windows: fail uv_spawn() if options.file is NULL 2011-09-19 16:03:38 -07:00
Ben Noordhuis
37e8bf2556 unix: fix dangling pointer free() bug 2011-09-19 17:23:23 +02:00
Erick Tryzelaar
70e1032094 unix: Fix uv_getaddrinfo from deleting invalid data
If the uv_getaddrinfo_t handle is owned by its
data pointer, deleting the data in the callback
could cause uv_getaddrinfo_done to call freeaddrinfo
on an invalid pointer.
2011-09-19 17:11:34 +02:00
Ben Noordhuis
75a088ebf1 unix: remove failed write requests from stream->write_queue_size 2011-09-16 16:17:23 -07:00
Ben Noordhuis
3c0684e832 unix: pass error to write callback in stream cleanup 2011-09-16 16:17:23 -07:00
Ryan Dahl
d0a46a5551 HAVE_FUTIMES on osx 2011-09-16 16:03:48 -07:00
Ryan Dahl
2640aae125 unix: Reset flags for stdio fds after fork 2011-09-15 15:24:09 -07:00
Erick Tryzelaar
905fe71341 unix: fix a compiler warning 2011-09-15 22:33:32 +02:00
Igor Zinkovsky
58dd32750e windows: ERROR_PATH_NOT_FOUND -> UV_ENOENT mapping 2011-09-14 14:04:41 -07:00
Igor Zinkovsky
4197fc76b1 windows: make file handles non-inheritable by default to match node behavior 2011-09-14 13:33:55 -07:00
Igor Zinkovsky
2931bdcf54 windows: strip '\??\' from readlink path buffer. 2011-09-14 12:58:18 -07:00
Igor Zinkovsky
65c8a727a3 uv_fs_ functions to return result in sync mode 2011-09-14 11:47:49 -07:00
Ben Noordhuis
76216d8057 unix: handle readdir errors in uv__fs_after() 2011-09-14 17:59:44 +02:00
Ben Noordhuis
337ff16526 unix: revert "eio: fix memory leak in eio__scandir()"
This reverts commit b450d87719.

It turns out that libeio doesn't actually leak memory but it does do an
unnecessary (and confusing!) allocation that is not free'd until after
the user callback returns.
2011-09-14 17:59:41 +02:00
Ben Noordhuis
4b9b692bb7 unix: fix off-by-one error in comparison
Only 3 of the 4 buffer list entries were being used.
2011-09-14 04:50:05 +02:00
Ben Noordhuis
3c96410902 unix: bring back uv__stream_destroy()
This is the revised version of reverted commit 431195c.
2011-09-14 04:48:56 +02:00
Ben Noordhuis
bca49960fb unix: handle stream write errors properly
1. Ensure that failed writes don't leave the write queue in an inconsistent
   state. Before, write requests were handed back to the user but were not
   removed from the write queue. The cause of at least one use-after-free bug.

2. Pass the error to the callback on the next iteration of the event loop
   instead of returning it immediately.
2011-09-14 04:16:45 +02:00
Ben Noordhuis
066dc6bcc8 unix: fix argument check / write request init order 2011-09-14 01:42:57 +02:00
Ben Noordhuis
21936ebf24 unix: remove unnecessary variable 2011-09-14 01:40:55 +02:00
Ben Noordhuis
d70c760338 unix: fix write queue double init 2011-09-14 01:38:51 +02:00
isaacs
3c00d87b42 Add EEXIST handling
Additionally, map ERROR_ALREADY_EXISTS to EEXIST on Windows.  I'm a bit
unsure about this mapping.  Could a windows person confirm?
2011-09-12 16:36:35 -07:00