void uv__fs_event_close(uv_fs_event_t* handle) { #if defined(__APPLE__) if (uv__fsevents_close(handle)) uv__fs_event_stop(handle); #else uv__fs_event_stop(handle); #endif /* defined(__APPLE__) */ uv__handle_stop(handle); free(handle->filename); close(handle->fd); handle->fd = -1; }
void uv__fs_event_close(uv_fs_event_t* handle) { uv__fs_event_stop(handle); uv__handle_stop(handle); free(handle->filename); close(handle->fd); handle->fd = -1; }
static void uv__fs_event(EV_P_ ev_io* w, int revents) { uv_fs_event_t* handle; int events; assert(revents == EV_LIBUV_KQUEUE_HACK); handle = container_of(w, uv_fs_event_t, event_watcher); if (handle->fflags & (NOTE_ATTRIB | NOTE_EXTEND)) events = UV_CHANGE; else events = UV_RENAME; handle->cb(handle, NULL, events, 0); uv__fs_event_stop(handle); /* File watcher operates in one-shot mode, re-arm it. */ if (handle->fd != -1) uv__fs_event_start(handle); }
void uv__fs_event_destroy(uv_fs_event_t* handle) { uv__fs_event_stop(handle); free(handle->filename); uv__close(handle->fd); handle->fd = -1; }