Commit Graph

113 Commits

Author SHA1 Message Date
Andrea Lattuada
6c3205557b Remove uv_flag_* functions in favor of manual bit twiddling
Fixes #121
Fixes #129
2011-08-06 12:12:25 -07:00
Ben Noordhuis
62d1c5751e uv-unix: fix warning: passing argument 1 of ‘eio_custom’ from incompatible pointer type 2011-08-06 17:01:09 +02:00
Ben Noordhuis
8abce89e57 build: fix libeio build on linux
Define HAVE_UTIMES so libeio includes <utime.h>
2011-08-06 14:43:50 +02:00
Ryan Dahl
52e1a9e997 Upgrade eio (it has better msvs support) 2011-08-06 00:29:39 -07:00
Igor Zinkovsky
cc143317b1 windows: fix req refcount for uv_pipe_connect 2011-08-05 17:47:20 -07:00
Ryan Dahl
4ca89308b6 Remove assert that is broken on darwin 2011-08-05 17:47:18 -07:00
Tom Hughes
76338f794e ares_parse_a_reply: fix memleak 2011-08-06 00:18:59 +02:00
Ryan Dahl
787ef5da80 uv-unix: Fix missing symbols on FreeBSD7 systems.
thanks Lenny
2011-08-05 11:58:11 -07:00
Ben Noordhuis
2fbcbe90c8 uv-unix: fix build on systems that don't have pipe2() 2011-08-05 17:12:02 +02:00
Bert Belder
c834d5de9e Windows: correct comment in process.c 2011-08-05 08:22:01 +02:00
Ben Noordhuis
041d60e141 uv-unix: avoid exec-after-fork race in uv_spawn()
The race condition in a nutshell:

    if ((pid = fork()) > 0) {
      kill(pid, SIGTERM);
    }
    else if (pid == 0) {
      execve("/bin/cat", argp, envp);
    }

The parent sends a signal immediately after forking.
Since the child may not have called `execve()` yet,
there is no telling what process receives the signal,
our fork or /bin/cat.

To avoid ambiguity, we create a pipe with both ends
marked close-on-exec. Then, after the call to `fork()`,
the parent polls the read end until it sees POLLHUP.
2011-08-05 04:09:20 +02:00
Peter Bright
d84b249616 Support for unescaped arguments, suitable for use with cmd /c.
Robust argument escaping that hopefully matches Windows' algorithm for unescaping.
2011-08-04 18:22:47 -07:00
Ben Noordhuis
c01d6f928c ev: fix infinite loop in ev_walk() 2011-08-04 19:03:47 +02:00
Bert Belder
642d97ced8 Windows: make process arguments buffer computation better 2011-08-03 02:09:37 +02:00
Bert Belder
ec143961d1 Windows: fix bug in process arguments buffer size computation 2011-08-03 01:42:32 +02:00
Bert Belder
dbaddc4423 Windows: avoid errorneous freeing of pipe handle 2011-08-03 00:18:12 +02:00
Ryan Dahl
b2ed24d86e unix: Remove flock code
solaris doesn't have flock
2011-08-02 07:08:13 +00:00
Ryan Dahl
22ec2db413 solaris fixes 2011-08-02 06:29:25 +00:00
Bert Belder
2e9a743da0 Windows: report uv_spawn() failure asynchronously 2011-08-01 20:24:54 -07:00
Igor Zinkovsky
6d940a3afc windows: remove dependency on rpcrt4 and ole32 libs. fixes https://github.com/joyent/libuv/issues/118 2011-08-01 20:10:55 -07:00
Igor Zinkovsky
0d29ea68c9 windows: fix for space in args 2011-08-01 16:41:08 -07:00
Ben Noordhuis
404d697dc4 uv-unix: undo accidental revert of b700896 in 5ec2575 2011-08-02 01:12:57 +02:00
Igor Zinkovsky
5af7423f90 always use PATH from parent 2011-08-01 14:28:39 -07:00
Ryan Dahl
5ec2575c0e unix: Add UV_READABLE, UV_WRITABLE flags; clean up uv_shutdown 2011-08-01 13:55:55 -07:00
Igor Zinkovsky
6c86f9e0a8 windows: get values of path and pathext env variables when they're not supplied 2011-08-01 13:40:48 -07:00
Ben Noordhuis
b7008965bc uv-unix: unlock pipe after use, carry over lock file from uv_pipe_bind() 2011-08-01 22:23:06 +02:00
Ben Noordhuis
d24403ac8e uv-unix: safely close pipe file descriptors 2011-08-01 18:06:20 +02:00
Ben Noordhuis
a3852a7d73 uv-unix: set stream->accepted_fd=-1 in uv_pipe_init()
stream->accepted_fd was zeroed in uv_pipe_init() and that made
uv__finish_close() close the stdin file descriptor. Not good.
2011-08-01 18:05:55 +02:00
Igor Zinkovsky
1d6117a89b windows: set mode for child pipe handle 2011-07-30 10:55:30 -07:00
Igor Zinkovsky
d272a2183d Windows: spawn child processes 2011-07-29 19:02:51 -07:00
Ryan Dahl
7108ca8853 uv_spawn requires stdio pipes to be initialized 2011-07-29 15:37:00 -07:00
Ben Noordhuis
eed6f395d1 pipe: uv_pipe_listen raises UV_EINVAL on unbound socket 2011-07-29 04:22:59 +02:00
Ben Noordhuis
8e8af8fd34 uv-unix: use lock file to detect stale UNIX sockets 2011-07-29 03:59:55 +02:00
Ben Noordhuis
3c057ff8e5 uv-unix: add simple lock file API for internal use 2011-07-29 03:59:55 +02:00
Ryan Dahl
cf5babef80 Fix getaddrinfo bug 2011-07-28 21:47:43 -04:00
Ryan Dahl
a0994ac8fb Fix solaris build 2011-07-28 23:41:39 +00:00
Tom Hughes
6203c932d4 Fix memleak in libeio. 2011-07-27 23:23:28 +02:00
Igor Zinkovsky
fc7bc2be70 fix mingw build; add stubs for child process API 2011-07-27 11:05:32 -07:00
Ben Noordhuis
a1adfe3e23 uv-unix: cast argument to uv__stream_open() to uv_stream_t* 2011-07-27 03:55:11 +02:00
Ryan Dahl
92bc7b4959 Start uv_spawn()
Unix only at the moment. Lacks test for stdio
2011-07-25 16:19:27 -04:00
Igor Zinkovsky
252da78830 uv_std_handle + uv_listen on stdin 2011-07-25 10:28:50 -07:00
Igor Zinkovsky
e7497227bd merge uv_tcp_listen and uv_pipe_listen into uv_listen 2011-07-22 16:57:09 -07:00
Ryan Dahl
84ebddad88 long lines 2011-07-22 03:35:12 -07:00
Bert Belder
2806b0386b Windows: do not initialize pipe handle in uv_pipe_accept 2011-07-22 12:08:27 +02:00
Ben Noordhuis
52487194cf uv-unix: fix 'comparison between signed and unsigned integer expressions' 2011-07-22 01:45:06 +02:00
Ben Noordhuis
272f164e6a uv-unix: uv_pipe_bind: raise UV_EACCESS on inaccessible socket
Fixes failing test pipe_bind_error_addrnotavail.
2011-07-21 19:48:42 +02:00
Igor Zinkovsky
186abb00bc windows: return UV_EACCESS for invalid pipe name 2011-07-21 10:39:08 -07:00
Ben Noordhuis
fb42f82df6 uv-unix: uv_pipe_bind: raise UV_EINVAL if pipe already bound
Fixes failing test pipe_bind_error_inval.
2011-07-21 18:18:34 +02:00
Ben Noordhuis
580a5b464f uv-unix: uv_pipe_listen: raise UV_ENOTCONN if pipe not bound
Fixes failing test pipe_listen_without_bind.
2011-07-21 18:18:34 +02:00
Ben Noordhuis
1028a9c6a7 uv-unix: handle EINTR properly
Fixes #113.
2011-07-21 15:22:59 +02:00