summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2011-11-10 20:10:54 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2011-11-10 20:10:54 +0100
commit0757c73a20da712b06bccdee7a322fd21dd6c799 (patch)
tree5260828caea6d0ab5cf63e7d8fef25fae8d3a205
parente34a2c170c5b6e27f5f61ae8c1df7dcd764b9299 (diff)
downloadnode-new-0757c73a20da712b06bccdee7a322fd21dd6c799.tar.gz
uv: upgrade to 224584c
-rw-r--r--deps/uv/include/uv-private/uv-unix.h8
-rw-r--r--deps/uv/src/unix/internal.h14
-rw-r--r--deps/uv/src/unix/sunos.c26
3 files changed, 44 insertions, 4 deletions
diff --git a/deps/uv/include/uv-private/uv-unix.h b/deps/uv/include/uv-private/uv-unix.h
index b07781f406..21078fe363 100644
--- a/deps/uv/include/uv-private/uv-unix.h
+++ b/deps/uv/include/uv-private/uv-unix.h
@@ -204,10 +204,14 @@ typedef void* uv_lib_t;
#include <sys/port.h>
#include <port.h>
-#define UV_FS_EVENT_PRIVATE_FIELDS \
+#ifdef PORT_SOURCE_FILE
+# define UV_FS_EVENT_PRIVATE_FIELDS \
ev_io event_watcher; \
uv_fs_event_cb cb; \
- file_obj_t fo; \
+ file_obj_t fo;
+#else /* !PORT_SOURCE_FILE */
+# define UV_FS_EVENT_PRIVATE_FIELDS
+#endif
#else
diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h
index 0ab8ba9579..12ab62177c 100644
--- a/deps/uv/src/unix/internal.h
+++ b/deps/uv/src/unix/internal.h
@@ -27,6 +27,12 @@
#include <stddef.h> /* offsetof */
+#undef HAVE_FUTIMES
+#undef HAVE_PIPE2
+#undef HAVE_ACCEPT4
+#undef HAVE_KQUEUE
+#undef HAVE_PORTS_FS
+
#if defined(__linux__)
#include <linux/version.h>
@@ -49,6 +55,14 @@
#endif /* __linux__ */
+#if defined(__sun)
+# include <sys/port.h>
+# include <port.h>
+# ifdef PORT_SOURCE_FILE
+# define HAVE_PORTS_FS 1
+# endif
+#endif /* __sun */
+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun)
# define HAVE_FUTIMES 1
#endif
diff --git a/deps/uv/src/unix/sunos.c b/deps/uv/src/unix/sunos.c
index f531220798..725e5603ea 100644
--- a/deps/uv/src/unix/sunos.c
+++ b/deps/uv/src/unix/sunos.c
@@ -30,10 +30,13 @@
#include <sys/loadavg.h>
#include <sys/time.h>
-#include <sys/port.h>
#include <unistd.h>
#include <kstat.h>
-#include <port.h>
+
+#if HAVE_PORTS_FS
+# include <sys/port.h>
+# include <port.h>
+#endif
uint64_t uv_hrtime() {
@@ -85,6 +88,7 @@ void uv_loadavg(double avg[3]) {
}
+#if HAVE_PORTS_FS
static void uv__fs_event_rearm(uv_fs_event_t *handle) {
if (port_associate(handle->fd,
PORT_SOURCE_FILE,
@@ -173,3 +177,21 @@ void uv__fs_event_destroy(uv_fs_event_t* handle) {
handle->filename = NULL;
handle->fo.fo_name = NULL;
}
+
+#else /* !HAVE_PORTS_FS */
+
+int uv_fs_event_init(uv_loop_t* loop,
+ uv_fs_event_t* handle,
+ const char* filename,
+ uv_fs_event_cb cb,
+ int flags) {
+ uv__set_sys_error(loop, ENOSYS);
+ return -1;
+}
+
+
+void uv__fs_event_destroy(uv_fs_event_t* handle) {
+ assert(0 && "unreachable"); /* should never be called */
+}
+
+#endif /* HAVE_PORTS_FS */