Adds initial libuv build/platform support for AIX. Builds work using gcc or the IBM XL C compiler using its gxlc wrapper. Platform support is added for uv_hrtime, uv_exepath, uv_get_free_memory, uv_get_total_memory, uv_loadavg, uv_uptime, uv_cpu_info, uv_interface_addresses.
* a no-op on Windows for now * only supports the main loop on UNIX (again, for now)
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.
Monitors a file path for changes. Supersedes ev_stat.
Move prepare/check/idle watcher code to loop-watcher.c so it can be reused for the linux backend.
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.
Fixes a segmentation fault on some OS X systems due to sizeof(struct stat) mismatches.
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.
This reverts commit 01fbe7b. __DARWIN_64_BIT_INO_T is a no-op in most cases and might be actively harmful in some others.
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.