Ben Noordhuis
ee50db6e36
unix, windows: preliminary signal handler support
...
* a no-op on Windows for now
* only supports the main loop on UNIX (again, for now)
2012-08-10 02:00:07 +02:00
Bert Belder
41b1265af8
Rip out c-ares
2012-08-07 01:04:26 +02:00
Bert Belder
a069956996
Remove c-ares integrations
2012-08-07 01:03:52 +02:00
Bert Belder
32f93e14cb
Add libuv-ified versions of inet_pton and inet_ntop
2012-08-07 01:03:47 +02:00
Ben Noordhuis
e132075738
unix: rename linux/core.c to linux/linux-core.c
...
Newer versions of gyp do not support files with the same basenames (example:
core.c and linux/core.c).
The nominal reason is consistency across build systems. Apparently, msbuild
doesn't support it either.
Somewhere, someplace, baby Jesus cries sad little tears...
Fixes #464 .
2012-06-22 18:40:54 +02:00
Ben Noordhuis
cc7c8542a5
unix, windows: add stat() based file watcher
...
Monitors a file path for changes. Supersedes ev_stat.
2012-05-31 20:32:24 +02:00
Ben Noordhuis
cff2221fbf
unix: split up loop.c
...
Move prepare/check/idle watcher code to loop-watcher.c so it can be reused for
the linux backend.
2012-05-23 23:47:06 +02:00
Bert Belder
c06edd4c88
windows, unix: share c-ares glue code
2012-05-22 16:11:22 +02: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
Bert Belder
d60d94e0c3
Unix: implement uv_poll
2012-05-03 15:52:56 +02:00
Aaron Bieber
109dcb28b2
build: make "make test" work on OpenBSD
2012-04-25 03:57:49 -07:00
Ben Noordhuis
68bed698fc
unix: move loop init logic out of core.c
2012-04-04 05:54:39 -07:00
Ben Noordhuis
5a59e4924a
unix: move idle code from core.c to idle.c
2012-04-04 05:25:34 +02:00
Ben Noordhuis
dd31265751
unix: move check code from core.c to check.c
2012-04-04 05:25:34 +02:00
Ben Noordhuis
f1a19e6d34
unix: move prepare code from core.c to prepare.c
2012-04-04 05:25:34 +02:00
Ben Noordhuis
f7359a335c
unix: move async code from core.c to async.c
2012-04-04 05:25:34 +02:00
Ben Noordhuis
fd987a26fe
unix: move timer code from core.c to timer.c
2012-04-04 05:25:27 +02:00
Ben Noordhuis
c733cb807d
build: sort source files
2012-04-04 05:12:02 +02:00
Ben Noordhuis
396d1383fe
Merge branch 'v0.6'
2012-04-02 23:50:27 +02:00
Ben Noordhuis
9c8f6dd4f9
build: define _DARWIN_USE_64_BIT_INODE=1 on OS X
...
Fixes a segmentation fault on some OS X systems due to sizeof(struct stat)
mismatches.
2012-04-02 23:49:53 +02:00
Ben Noordhuis
685b36ba66
linux: tidy up syscall code
2012-03-31 00:19:01 +00:00
Vladimir Dronnikov
2b3ba91eb9
build: make make clean really clean
2012-03-27 16:14:06 +02:00
Ben Noordhuis
a93dc7ef11
build: link against libdl on linux
2012-03-05 15:36:27 +01:00
Shigeki Ohtsu
b55801f225
win, unix: add uv_dlerror() and uv_dlerror_free()
2012-03-02 16:39:21 +01:00
Ben Noordhuis
d3efefb043
linux: share inotify fd across event loop
...
Previously, a new inotify fd was created for each watcher, making it quite easy
to run into the system-wide fs.inotify.max_user_instances limit (usually 128).
Fixes #300 .
2012-02-23 09:21:30 -08:00
Ben Noordhuis
ec37d05d66
Revert "build: compile with -D__DARWIN_64_BIT_INO_T on OS X"
...
This reverts commit 01fbe7bf37 .
__DARWIN_64_BIT_INO_T is a no-op in most cases and might be actively harmful in
some others.
2011-12-01 21:02:29 +01:00
Ben Noordhuis
01fbe7bf37
build: compile with -D__DARWIN_64_BIT_INO_T on OS X
...
Fixes a struct stat size mismatch on 64 bits machines that made Node crash with
a EXC_BAD_ACCESS on startup.
Solution proposed by Paddy Byers.
2011-11-18 21:16:24 +01:00
Frank Denis
89ea3be6c2
Add support for DragonFly BSD by sharing code for FreeBSD.
2011-11-13 19:46:24 +01:00
Ben Noordhuis
e4d6509211
build: compile in dl.c on unix
2011-10-29 01:12:15 +02:00
Frank DENIS
4ab1990064
unix: add support for OpenBSD
2011-10-14 01:59:45 +02:00
Ben Noordhuis
6936d60cde
build: don't set CC and AR
...
Allows user to override compiler and archiver through the CC and AR environment
variables. Note that this already worked as expected with `make CC=clang`.
2011-10-11 18:27:12 +02: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
33cb8775bc
os: implement memory bindings
...
* us_get_free_memory
* us_get_total_memory
2011-10-04 18:10:35 +02:00
Ben Noordhuis
99748250f2
unix: link to libkvm on freebsd
...
Fixes 'undefined reference' linker errors to kvm_open(), kvm_close(), etc.
2011-09-28 00:57:20 +02: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
Ben Noordhuis
0834e73621
Merge branch 'v0.6'
2011-11-22 00:06:58 +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
Marek Jelen
d9fb84c02c
build: absorb CFLAGS from environment
2011-09-22 17:37:44 +02: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
Matthew Sporleder
4320874fcf
unix: netbsd support
2011-09-08 13:20:43 +02:00
Ben Noordhuis
bb0c6e6d53
unix: move linux feature detection macros to internal.h
2011-09-05 16:05:28 +02:00
Ryan Dahl
6fd340b8ca
unix: split out stream into its own file
2011-08-31 13:41:22 -07:00
Ryan Dahl
38ce213b6a
unix: split out pipe
2011-08-31 13:29:17 -07:00
Ryan Dahl
510407c03d
unix: split out tcp module
2011-08-31 13:11:38 -07:00
Ryan Dahl
b9120d0b0a
Simplify Unix makefile
2011-08-31 12:07:49 -07:00
Ryan Dahl
e553f96f94
unix: split out uv_spawn into src/unix/process.c
2011-08-31 11:50:08 -07:00
Ryan Dahl
490c83dd35
move src/uv-unix.c to src/unix/core.c
2011-08-31 11:26:43 -07:00
Ryan Dahl
6144c93bbc
unix: split out error code into separate file
2011-08-31 11:23:29 -07:00
Ryan Dahl
e97958ac3b
unix: Split out c-ares integration into separate file
2011-08-31 11:23:29 -07:00
Ryan Dahl
58461d5ae7
split out unix's udp source
2011-08-31 11:23:29 -07:00