Ben Noordhuis
4e1f2b1f64
Merge remote-tracking branch 'origin/v0.6'
2012-02-12 16:10:05 +01:00
Ben Noordhuis
c5aa86bd39
Remove uv_import() and uv_export().
...
Not needed anymore now that support for isolates has been removed from Node.
This commit reverts the following commits:
812e410 test: fix up stream import/export test
e34dc13 unix: implement uv_import() and uv_export()
d1a0e8e test: fix undefined macro error
2ce0058 import/export streams accross loops
2012-02-12 15:49:54 +01:00
Igor Zinkovsky
f9be43a564
support half-duplex pipes
2012-02-09 13:33:15 -08:00
Ben Noordhuis
62206c2db0
Clarify API doc comments in uv.h
2012-02-09 22:12:32 +01:00
Nathan Rajlich
dbc046cb7f
Add EXDEV to the errno map.
2012-02-06 21:32:16 +01:00
Ben Noordhuis
e53302fcea
Explicitly export libuv symbols if gcc >= 4.
...
Only export symbols that are part of the libuv API, hide everything else.
Prevents symbol clashes in applications and libraries that depend on libuv and
speeds up link times to boot.
2012-02-06 17:05:47 +01:00
Maciej Małecki
3ff3626e52
unix: map ELOOP to UV_ELOOP
2012-02-03 22:20:14 +01:00
isaacs
243cfcd078
Merge remote-tracking branch 'ry/v0.6'
2012-01-31 18:00:59 -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
Igor Zinkovsky
2ce0058251
import/export streams accross loops
2012-01-30 21:44:27 +01:00
Ben Noordhuis
3de0411591
Merge remote-tracking branch 'origin/v0.6'
2012-01-27 22:23:26 +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
Ben Noordhuis
02b41f63dc
Add missing UV_EXTERN declarations in uv.h
2012-01-24 00:07:22 +01:00
Maciej Małecki
24e6c7ec86
unix: map ENAMETOOLONG to UV_ENAMETOOLONG
...
With tests. Closes #295
2012-01-23 19:33:09 +01:00
Dan VerWeire
497b1ecd00
unix: add uv_udp_set_broadcast() and uv_udp_set_multicast_ttl()
2012-01-21 03:06:47 +01:00
Ben Noordhuis
6d9c9a533f
Add uv_loop_refcount() function, debug tool.
2012-01-14 00:33:08 +01:00
Ben Noordhuis
feb267e611
unix: it's legal for dlsym() to return NULL
...
A symbol name can map to NULL. Check dlerror() to see if a real error happened.
2011-12-18 16:49:40 +01:00
Igor Zinkovsky
60630dab0f
windows: enable pending pipe instances knob
2011-12-01 13:48:57 -08:00
Igor Zinkovsky
dceb3e65ca
uv_cwd + uv_chdir
2011-12-01 12:27:12 -08:00
Bruce Mitchener
c69ccfabc2
Remove incorrect documentation comment.
...
The callback for uv_close does not have a status parameter.
2011-12-01 14:22:47 +01:00
Bruce Mitchener
b684deb4f4
Note that uv_is_active works on timers.
2011-11-30 14:48:57 +01:00
Bruce Mitchener
d513d9bb41
Fix typos.
2011-11-30 14:35:13 +01:00
Bert Belder
01f64f6612
Win: get rid of UV_EAINONAME, use UV_ENOENT instead
2011-11-25 10:11:29 +01:00
Ryan Dahl
4ae40b6a3f
Bump version to v0.6
2011-11-14 16:14:10 -08:00
Frank Denis
9322dd1724
Use (void) for a function taking no arguments - fix gcc -Wstrict-prototypes
2011-11-10 22:55:06 +01:00
Ben Noordhuis
4889644301
Fix warning: comma at end of enumerator list
2011-11-10 11:37:08 +01:00
Ryan Dahl
6d5ba42436
Remove unnecessary errno
2011-11-09 18:07:13 -08:00
Ryan Dahl
fd2b04d784
Alternative errno strategy
2011-11-09 17:47:24 -08:00
Tj Holowaychuk
a378110f9e
Add UV_ESRCH
...
Fixes #239 .
2011-11-08 16:36:20 -08:00
Ben Noordhuis
51df5e3b00
unix: map EISDIR
2011-11-07 09:20:54 +01:00
Ben Noordhuis
7b973eb4ad
Fix uv_loop_new() and uv_default_loop() function prototypes.
2011-11-06 04:04:32 +01:00
Bert Belder
1997e10b50
Add flags to uv_fs_event_init
2011-11-05 01:42:08 +01:00
Igor Zinkovsky
faca1402ef
make uv_pipe_connect return void
2011-11-04 16:06:53 -07:00
Ryan Dahl
681bd290e6
UV_EACCESS -> UV_EACCES
...
In order to match existing Node API. See
https://github.com/joyent/node/pull/2001
2011-11-03 16:17:12 -07:00
Igor Zinkovsky
74b49e821b
uv_kill
2011-11-02 14:34:07 -07:00
Igor Zinkovsky
78f4b120a1
windows: knob for tuning number of concurrent accept requests
2011-10-31 23:37:45 -07:00
Bert Belder
90e15f1110
Implement uv_dlopen and friends
2011-10-29 00:52:34 +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
Ben Noordhuis
ec825ffc62
unix: add TCP keepalive and no-delay control knobs
2011-10-21 16:08:26 -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
Ryan Dahl
2c7e8bb137
Map EAI_NONAME to ENOENT
2011-10-20 17:13:48 -07:00
Bert Belder
51e9dbc2bb
Work around windows udp bug, allow zero reads
2011-10-20 15:01:31 -07:00
Frank Denis
e8a418e920
Fix pasto: uv_udp_recv_start() receives a UDP datagram, it doesn't send data.
2011-10-18 23:11:23 +02:00
Ben Noordhuis
197f591ebc
common: add UV_ENOTDIR error code
2011-10-12 16:43:29 +02:00
Ben Noordhuis
61343ecfbd
common: add UV_ENOSYS error code
2011-10-11 23:15:41 +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
Ryan Dahl
5656e3c8bd
Prepare for writable TTY to be blocking
2011-10-10 13:25:46 -07:00
Fedor Indutny
5ac040069e
better docs
2011-10-07 01:41:42 -07:00
Igor Zinkovsky
81c4043c83
ipc on windows
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
e5e6efe317
Add uv_write2 and uv_read2_start to header file
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
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
Ryan Dahl
fe18438416
add uv_tty_reset_mode()
2011-09-30 13:09:06 -07:00
Ben Noordhuis
1cca230d76
Merge remote-tracking branch 'origin/v0.6'
2012-01-23 13:27:47 +01:00
Ben Noordhuis
71f6c0edb8
Merge remote-tracking branch 'origin/v0.6'
...
Conflicts:
src/win/util.c
2012-01-16 18:07:49 +01:00
Igor Zinkovsky
26512731e3
remove uv_thread_self
2012-01-13 17:24:30 -08:00
Ryan Dahl
51ea46de45
Merge remote branch 'origin/v0.6'
2012-01-09 11:31:13 -08:00
Ryan Dahl
4ad33e9748
Revert "Add uv_pipe_pair for communication between threads"
...
Not needed. We took a different approach for isolates.
This reverts commit 5cc6090fdf .
2012-01-09 11:22:46 -08:00
Ryan Dahl
5cc6090fdf
Add uv_pipe_pair for communication between threads
...
This is only the Unix implementation and test.
2011-12-29 22:41:08 -08:00
Ben Noordhuis
85f6b7952b
Fix Windows build, uv_eio_channel is Unix only.
2011-12-28 14:42:46 +01:00
Paddy Byers
abf9654a55
unix: create separate eio result queue per loop
...
Makes the eio "done" callback run in the thread that submitted it. Makes it safe
to use libeio from multiple event loops.
2011-12-20 20:47:33 +01:00
Ben Noordhuis
69ce0145f6
Wrap platform "thread-safe run once" APIs.
2011-12-20 20:34:55 +01:00
Ryan Dahl
a993329c02
add uv_thread_self
2011-12-20 11:34:18 -08:00
Igor Zinkovsky
3d189de699
platform api
2011-12-14 17:50:36 -08:00
mattn
e53cecb8c0
add uv_run_once()
2011-12-14 14:28:35 +01:00
Ben Noordhuis
f5c2a4a1ae
Merge branch 'v0.6'
...
Conflicts:
src/unix/core.c
src/win/winapi.h
2011-12-02 18:15:04 +01:00
Bert Belder
35fa2a6a51
Merge branch 'v0.6'
2011-11-25 12:46:17 +01:00
Ben Noordhuis
b52b8c7128
util: add uv_strlcpy() and uv_strlcat() functions
2011-11-23 17:29:02 +01:00
Ben Noordhuis
8e4ed88bbe
Wrap platform thread APIs.
2011-11-21 21:04:16 +01:00
Ben Noordhuis
1fc1f28093
Wrap platform mutex and rwlock APIs.
...
Read/write locks are emulated with critical sections on Windows XP and Vista
because those platforms don't have a (complete) native read/write lock API.
2011-11-18 12:42:08 +01: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
Ryan Dahl
03652596cf
unix: add uv_guess_handle and uv_tty_get_winsize
2011-09-22 19:35:46 -07:00
Igor Zinkovsky
1e0757ffda
windows: file watcher
2011-09-21 13:13:34 -07:00
Ryan Dahl
c1374ba587
Add uv_is_tty()
2011-09-20 11:48:47 -07: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
Ryan Dahl
4484d61fe1
Add interfaces for uv_pipe_open, uv_tty_init, uv_tty_set_mode
...
Nothing works - no tests. This is just to coordinate efforts between Bert
and I.
2011-09-12 14:32:14 -07:00
Bert Belder
f790b689a7
Remove uv_init from uv.h and windows backend
2011-09-12 11:32:41 -07:00
Erick Tryzelaar
efa1b54076
Subclass uv_getaddrinfo_t from uv_req_t.
...
This patch also fixes #155 . Since we no longer
memset clear the uv_getaddrinfo_t, the user can
now set the `uv_getaddrinfo_t->data` field without
problems.
2011-09-10 01:46:26 -07:00
Ben Noordhuis
b7d88070d8
fs: add UV_ENOENT error code, add test
2011-09-06 00:17:59 +02:00
Ryan Dahl
a18860aec6
Add uv_fs_t.path on unix and tests
...
Windows implementation missing https://github.com/joyent/libuv/issues/177
2011-09-04 18:05:11 -07:00
Igor Zinkovsky
060026ced3
windows: uv_fs_link + uv_fs_symlink
2011-09-04 13:24:35 -07:00
Bert Belder
12b01e95f9
Specialize uv_xxx_getsockname, add uv_tcp_getpeername
2011-09-04 04:49:13 +02:00
Ryan Dahl
cec94ee075
docs for uv_fs methods
2011-08-31 11:23:29 -07:00
Ryan Dahl
b47c474cfd
Move private headers into include/uv-private
2011-08-31 00:43:55 -07:00
Bert Belder
78debf9f67
win: multiplicity
2011-08-31 04:19:16 +02:00
Bert Belder
3aec77f9d4
bring back uv_init
2011-08-31 04:19:07 +02:00
Ryan Dahl
56dcaf9b06
unix: multiplicity
2011-08-31 04:18:55 +02:00
Ryan Dahl
1a4ead53d6
unix: implement uv_queue_work
2011-08-29 22:57:34 -07:00
Ryan Dahl
3be275bad7
Begin implementation of UNIX uv_fs_ functions
...
Adding this incomplete work now to ease rebase troubles later as it moves
the functions to src/unix/fs.c and introduces src/unix/internal.h.
2011-08-29 14:36:45 -07:00
Igor Zinkovsky
3a374ca7c9
add missing values to uv_fs_type
2011-08-26 21:51:39 -07:00
Igor Zinkovsky
25175c7071
uv_fs & uv_work APIs
2011-08-26 11:00:53 -07:00
Ryan Dahl
80e5491886
Simplify UDP docs
2011-08-24 12:25:15 -07:00
Bert Belder
5c9d749a57
win: udp support
2011-08-24 04:55:08 +02:00
Ben Noordhuis
36ce74f2ca
Add UDP support to libuv.
2011-08-24 04:55:01 +02:00
Ben Noordhuis
52024061e4
Make uv_getsockname() operate on uv_handle_t handles.
2011-08-24 04:17:36 +02:00
Ben Noordhuis
6cc241ac7a
Fix 'incomplete prototype' compiler warnings on SunOS.
2011-08-22 14:27:39 +00:00
Bert Belder
cc0b0e6238
Remove trailing whitespace
2011-08-21 21:46:05 +02:00
Ryan Dahl
d77e9795d3
Fix spelling
2011-08-18 10:35:52 -07:00
Ryan Dahl
e5a938f1f4
Add uv_buf_init() constructor
2011-08-17 17:43:19 -07:00
Ryan Dahl
ed118836c4
Improve docs
2011-08-17 00:42:44 -07:00
Ben Noordhuis
e8497aee5a
Add error code UV_EPIPE.
2011-08-11 02:45:27 +02:00
Ben Noordhuis
4abd1e0ccc
uv-unix: close file descriptors immediately in uv_close()
...
Don't defer closing of socket and pipe file descriptors to the
next iteration of the event loop. It breaks node.js unit tests
that assume the call to `server.close()` immediately frees up
the bound to address.
2011-08-09 23:14:38 +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
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
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
b931c9313f
uv_close returns void
2011-07-20 18:03:48 -07:00
Ryan Dahl
07b49ce59a
add uv_ip4_name and uv_ip6_name
2011-07-18 17:39:04 -07:00
Bert Belder
c1bddb9677
Stop g++ from complaining about anonymous struct usage
2011-07-16 00:33:31 +02: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
Bert Belder
28650425e2
uv-win: refactor request processing
2011-07-13 21:49:15 +02:00
Ben Noordhuis
f852c517a1
Change uv_pipe_*() prototypes from char* to const char*.
2011-07-13 00:12:30 +02:00
Henry Rawas
6b32ebc54f
uv_getsockname
2011-07-12 09:57:08 -07:00
Igor Zinkovsky
2e49cc56d1
Rename uv_pipe_create to uv_pipe_bind.
...
Fixes issue #97 .
2011-07-11 15:24:35 -07:00
Igor Zinkovsky
b6a6dae34f
Named pipes implementation for Windows
2011-07-09 21:41:04 +02:00
Ryan Dahl
6d8c499e35
Don't export the private CPP symbols.
2011-07-07 22:38:41 -07:00
Robert Mustacchi
8c00b369b4
C99 compatibility.
...
Get 99% of the way there for --std=c89 -pedantic for core files. Also cleans
up follow up warnings and others in tests.
2011-07-07 21:39:08 -07:00
Ryan Dahl
ce8ff3031c
src/ and include/ directories
...
Helps #71 but does not update the MSVC files.
2011-07-07 07:52:57 -07:00