Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
Arquivo: kqueue.c Projeto: 4rejin/node
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;
}
Exemplo n.º 3
0
Arquivo: kqueue.c Projeto: 0x00A/uvxx
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);
}
Exemplo n.º 4
0
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;
}