Commit Graph

542 Commits

Author SHA1 Message Date
Bert Belder
18823270aa Windows: fix connecting a pipe in the thread pool
The code didn't function. Fixes the pipe_pound benchmarks.
2012-03-09 16:31:15 +01:00
Bert Belder
ec97ba8014 Windows uv_fs_stat: cap st_nlink to SHRT_MAX 2012-03-09 05:00:10 +01:00
Bert Belder
87752ac38b Fold trailing whitespace 2012-03-09 05:00:09 +01:00
Bert Belder
f43f1a7016 Windows: avoid uv_guess_handle crash in when fd < 0
Happens only when using a debug version of the crt.
2012-03-08 16:43:56 +01:00
Bert Belder
1ac71a31e9 Map EBUSY and ENOTEMPTY errors 2012-03-07 21:26:37 +01:00
Ben Noordhuis
b3fe183040 unix: fix fs_event refcount bug on darwin
The event loop got unref'd twice when the handle was closed.
2012-03-01 16:42:05 +01:00
Ben Noordhuis
44c9f63cb1 unix: don't rely on libev to track timer state
An obscure libev bug sometimes makes it miss state changes. Keep track of the
state ourselves.

Fixes joyent/node#2515.
2012-03-01 16:41:58 +01:00
Igor Zinkovsky
9a5c1bad90 windows: fix time conversion in stat 2012-02-27 13:11:09 -08:00
Brandon Philips
fca18c33ac win: fs: handle EOF in read
in luvit after upgrade libuv from 243cfc to d3efef readSync started
failing.  It seems that the code cleanup stopped handling EOF

Trivially reproduced with this

    local fs = require('fs')
    print(fs.readFileSync('foo.luvit'))
2012-02-24 00:58:53 +01:00
Igor Zinkovsky
c0e7044862 windows: avoid IOCP short-circuit if non-ifs lsps are detected 2012-02-22 11:58:40 -08:00
Bert Belder
86ebe48660 Windows: add error mappings that map to EPIPE 2012-02-16 23:58:14 +01:00
Ben Noordhuis
b8649fdf00 unix: don't flush tty on switch to raw mode
Drain, don't flush the tty when switching from cooked to raw mode. Prevents
buffered keystrokes from getting lost. Switching back to cooked mode still
flushes.

Fixes joyent/node#2744.
2012-02-13 22:41:36 +01:00
Bert Belder
bc8b99097a win: add ERROR_FILENAME_EXCED_RANGE mapping, fix fs_file_nametoolong test 2012-02-13 20:01:36 +01:00
Bert Belder
6c80bf34d3 Clean up error handling in win/fs.c, add some error mappings 2012-02-13 20:01:19 +01:00
Ben Noordhuis
c1cea705ba windows: map WSAETIMEDOUT to UV_ETIMEDOUT 2012-02-13 14:08:27 +01:00
Igor Zinkovsky
f9be43a564 support half-duplex pipes 2012-02-09 13:33:15 -08:00
Luis Lavena
c800043112 Add missing IPV6_HOPLIMIT definition for MinGW
Closes GH-307
2012-02-07 14:34:40 +01:00
Nathan Rajlich
dbc046cb7f Add EXDEV to the errno map. 2012-02-06 21:32:16 +01:00
Bert Belder
443445a3c6 Windows: reset brightness when reverting to default text color 2012-02-05 19:54:26 +01:00
Maciej Małecki
e2565c332a win: map ERROR_CANT_RESOLVE_FILENAME to UV_ENAMETOOLONG 2012-02-03 22:20:14 +01:00
Maciej Małecki
3ff3626e52 unix: map ELOOP to UV_ELOOP 2012-02-03 22:20:14 +01:00
Ben Noordhuis
2f182f4451 unix: map ECONNABORTED 2012-02-03 16:20:24 +01:00
Bert Belder
267e75dda2 Windows: better stat implementation 2012-02-02 17:03:40 +01:00
Igor Zinkovsky
495853ee2b windows: map ERROR_ACCESS_DENIED to UV_EPERM 2012-02-01 12:38:14 -08:00
Brandon Philips
4cfda74de4 uv.h: add EPERM to errno map to fix regression
EPERM isn't mapped in so chown returns an unknown error. This is a
regression from 0.4.12.

philips:node/ (master*) $ cat chown.js
var fs = require('fs')
fs.chown("/tmp/foobar", 100, 100, function(er){ console.log(er);})

philips:node/ (master*) $ ls -la /tmp/foobar
total 0
drwxr-xr-x   2 root  wheel   68 Jan 24 17:21 .

0.4
---

philips:node/ (master*) $ /usr/local/Cellar/node/0.4.12/bin/node chown.js
{ stack: [Getter/Setter],
  arguments: undefined,
  type: undefined,
  message: 'EPERM, Operation not permitted \'/tmp/foobar\'',
  errno: 1,
  code: 'EPERM',
  path: '/tmp/foobar' }

master
------

philips:node/ (master*) $ ./node chown.js
{ [Error: UNKNOWN, unknown error '/tmp/foobar'] errno: -1, code: 'UNKNOWN', path: '/tmp/foobar' }

AFTER
-----

philips:node/ (master*) $ ./node chown.js
{ [Error: EPERM, operation not permitted '/tmp/foobar'] errno: 49, code: 'EPERM', path: '/tmp/foobar' }
2012-01-31 16:37:26 -08:00
Bert Belder
3eb94e92f7 Implement udp multicast methods on windows
uv_udp_set_membership is not supported for UDP-IPv6 sockets yet.
2012-01-31 17:29:22 +01:00
Bert Belder
62d9360477 Windows: enable SO_REUSEADDR for datagram sockets 2012-01-31 17:29:21 +01:00
Ben Noordhuis
45d7bd88c9 unix: explain SO_REUSEADDR and SO_REUSEPORT 2012-01-31 16:52:27 +01:00
isaacs
98c0498dbc unix: Remove assert in uv__pipe_accept
This assert unnecessarily prevents people from using the pipe_wrap
class in node to send file descriptors over sockets.
2012-01-30 11:28:54 -08:00
Brandon Benvie
74cff551d5 windows: fix off-by-one error in uv_fs_stat
uv__is_root typo caused incorrect fs.exists results in Node.
2012-01-28 16:52:44 +01:00
Ben Noordhuis
332b72e589 sunos: fix uv_udp_set_ttl and uv_udp_set_multicast_loop
It turns out that setsockopt(IP_TTL) *does* expect an int, whereas
setsockopt(IP_MULTICAST_LOOP) needs a char.
2012-01-28 01:19:49 +01:00
Ben Noordhuis
16124bb34e sunos: fix uv_udp_set_ttl and uv_udp_multicast_ttl
The argument to setsockopt(IP_TTL|IP_MULTICAST_TTL) should be a char, not an int
like on other Unices.
2012-01-28 00:11:47 +01:00
Bert Belder
92b260c065 windows: fix stat("c:\\") regression 2012-01-27 22:09:55 +01:00
Ben Noordhuis
9c76d0d742 unix: turn on SO_REUSEPORT for UDP sockets
Required on BSD-like systems for local UDP multicast. Without it, the bind()
call fails with EADDRINUSE.
2012-01-27 00:49:57 +01:00
Ben Noordhuis
b88bc43543 unix: implement uv_udp_set_multicast_loop() 2012-01-24 00:07:22 +01:00
Ben Noordhuis
e710fdb518 unix: implement uv_udp_set_ttl() 2012-01-24 00:07:22 +01:00
Bert Belder
6554954e3e Windows: add error mapping for WSAENOBUFS 2012-01-23 20:21:56 +01:00
Brandon Benvie
3ade5f0011 Windows: Add support for interpreting axiterm-style colors. 2012-01-23 20:06:24 +01:00
Maciej Małecki
24e6c7ec86 unix: map ENAMETOOLONG to UV_ENAMETOOLONG
With tests. Closes #295
2012-01-23 19:33:09 +01:00
Igor Zinkovsky
edbabe6f83 windows: set error using WSAGetLastError 2012-01-22 18:00:07 -08:00
Igor Zinkovsky
726e36cf7c implement uv_udp_set_multicast_ttl and uv_udp_set_broadcast on windows 2012-01-22 17:52:20 -08:00
Dan VerWeire
497b1ecd00 unix: add uv_udp_set_broadcast() and uv_udp_set_multicast_ttl() 2012-01-21 03:06:47 +01:00
Dan VerWeire
b674187c38 unix: set SO_REUSEADDR before binding 2012-01-21 03:06:43 +01:00
Ben Noordhuis
98f3446c43 unix: don't close kqueue fd in kqueue_fork()
The file descriptor is not inherited by the child process. Trying to close it is
not just useless, it's actively harmful - if the close() call succeeds, it will
have closed an altogether different file descriptor.
2012-01-19 14:48:41 +01:00
Ben Noordhuis
bf8ccfce18 unix: fix segfault in uv_guess_handle()
Fixes #293.
2012-01-17 17:47:33 +01:00
Ben Noordhuis
0e6e4abedc unix: fix udp recv_start refcount
Calling uv_udp_recv_start() should not bump the event loop's reference count.

Fixes failing test udp_ref2.
2012-01-14 01:44:27 +01:00
Ben Noordhuis
6d9c9a533f Add uv_loop_refcount() function, debug tool. 2012-01-14 00:33:08 +01:00
Ben Noordhuis
a13584bec7 unix: remove unused #define 2012-01-13 15:59:53 +01:00
Ben Noordhuis
52fba1a38f unix: fix compiler warning 2012-01-12 16:00:31 +01:00
Igor Zinkovsky
855764406e windows: improve uv_fs_stat performance (by about 60%) 2012-01-11 19:21:47 -08:00