#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
#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>
#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
#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() {
}
+#if HAVE_PORTS_FS
static void uv__fs_event_rearm(uv_fs_event_t *handle) {
if (port_associate(handle->fd,
PORT_SOURCE_FILE,
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 */