diff options
author | cjihrig <cjihrig@gmail.com> | 2017-10-02 19:44:44 -0400 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2017-10-05 12:08:33 -0700 |
commit | fca6c5839a6154275913656dfedb3242959031e3 (patch) | |
tree | e1fed70c4929b71306e6a18a92bf5501245a286c /deps/uv/src/unix/fsevents.c | |
parent | b9a55a93c91fb7fd7ac81e182f843f28014179ca (diff) | |
download | android-node-v8-fca6c5839a6154275913656dfedb3242959031e3.tar.gz android-node-v8-fca6c5839a6154275913656dfedb3242959031e3.tar.bz2 android-node-v8-fca6c5839a6154275913656dfedb3242959031e3.zip |
deps: upgrade libuv to 1.15.0
PR-URL: https://github.com/nodejs/node/pull/15745
Refs: https://github.com/nodejs/node/pull/15380
Refs: https://github.com/nodejs/node/issues/15683
Fixes: https://github.com/nodejs/node/issues/15394
Fixes: https://github.com/nodejs/node/issues/15770
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/uv/src/unix/fsevents.c')
-rw-r--r-- | deps/uv/src/unix/fsevents.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c index 643e233cfe..38837406a6 100644 --- a/deps/uv/src/unix/fsevents.c +++ b/deps/uv/src/unix/fsevents.c @@ -230,6 +230,7 @@ static void uv__fsevents_event_cb(ConstFSEventStreamRef streamRef, uv_loop_t* loop; uv__cf_loop_state_t* state; uv__fsevents_event_t* event; + FSEventStreamEventFlags flags; QUEUE head; loop = info; @@ -245,8 +246,10 @@ static void uv__fsevents_event_cb(ConstFSEventStreamRef streamRef, /* Process and filter out events */ for (i = 0; i < numEvents; i++) { + flags = eventFlags[i]; + /* Ignore system events */ - if (eventFlags[i] & kFSEventsSystem) + if (flags & kFSEventsSystem) continue; path = paths[i]; @@ -271,6 +274,9 @@ static void uv__fsevents_event_cb(ConstFSEventStreamRef streamRef, /* Ignore events with path equal to directory itself */ if (len == 0) continue; +#else + if (len == 0 && (flags & kFSEventStreamEventFlagItemIsDir)) + continue; #endif /* MAC_OS_X_VERSION_10_7 */ /* Do not emit events from subdirectories (without option set) */ @@ -291,12 +297,24 @@ static void uv__fsevents_event_cb(ConstFSEventStreamRef streamRef, memset(event, 0, sizeof(*event)); memcpy(event->path, path, len + 1); + event->events = UV_RENAME; - if ((eventFlags[i] & kFSEventsModified) != 0 && - (eventFlags[i] & kFSEventsRenamed) == 0) +#ifdef MAC_OS_X_VERSION_10_7 + if (0 != (flags & kFSEventsModified) && + 0 == (flags & kFSEventsRenamed)) { + event->events = UV_CHANGE; + } +#else + if (0 != (flags & kFSEventsModified) && + 0 != (flags & kFSEventStreamEventFlagItemIsDir) && + 0 == (flags & kFSEventStreamEventFlagItemRenamed)) { event->events = UV_CHANGE; - else - event->events = UV_RENAME; + } + if (0 == (flags & kFSEventStreamEventFlagItemIsDir) && + 0 == (flags & kFSEventStreamEventFlagItemRenamed)) { + event->events = UV_CHANGE; + } +#endif /* MAC_OS_X_VERSION_10_7 */ QUEUE_INSERT_TAIL(&head, &event->member); } |