Lines Matching refs:fd
144 #define fam fd /*(translate struct stat_cache_fam scf->fam -> scf->fd)*/
146 #define FAMClose(fd) \ argument
147 close(*(fd))
148 #define FAMCancelMonitor(fd, wd) \ argument
149 inotify_rm_watch(*(fd), *(wd))
154 #define FAMMonitorDirectory(fd, fn, wd, userData) \ argument
155 ((*(wd) = inotify_add_watch(*(fd), (fn), (fam_watch_mask))) < 0)
170 #define fam fd /*(translate struct stat_cache_fam scf->fam -> scf->fd)*/
172 #define FAMClose(fd) \ argument
173 (-1 != (*(fd)) ? close(*(fd)) : 0)
174 static int FAMCancelMonitor (const int * const fd, int * const wd) in FAMCancelMonitor() argument
176 if (-1 == *fd) return 0; in FAMCancelMonitor()
181 int rc = kevent(*fd, &kev, 1, NULL, 0, &t0); in FAMCancelMonitor()
186 static int FAMMonitorDirectory (int * const fd, char * const fn, int * const wd, void * const userD… in FAMMonitorDirectory() argument
196 return kevent(*fd, &kev, 1, NULL, 0, &t0); in FAMMonitorDirectory()
240 int fd; member
329 kevent(scf->fd, kevl, max_ndx, NULL, 0, &t0); in fam_dir_periodic_cleanup()
368 rd = (int)read(scf->fd, buf, sizeof(buf)); in stat_cache_handle_fdevent_in()
420 n = kevent(scf->fd, NULL, 0, kevl, sizeof(kevl)/sizeof(*kevl), &t0); in stat_cache_handle_fdevent_in()
567 scf->fd = -1; in stat_cache_handle_fdevent()
575 scf->fd = -1; in stat_cache_init_fam()
581 scf->fd = inotify_init(); in stat_cache_init_fam()
582 if (scf->fd >= 0 && 0 != fdevent_fcntl_set_nb_cloexec(scf->fd)) { in stat_cache_init_fam()
583 close(scf->fd); in stat_cache_init_fam()
584 scf->fd = -1; in stat_cache_init_fam()
587 scf->fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC); in stat_cache_init_fam()
589 if (scf->fd < 0) { in stat_cache_init_fam()
596 scf->fd = kqueue1(O_NONBLOCK|O_CLOEXEC|O_NOSIGPIPE); in stat_cache_init_fam()
598 scf->fd = kqueue(); in stat_cache_init_fam()
599 if (scf->fd >= 0) fdevent_setfd_cloexec(scf->fd); in stat_cache_init_fam()
601 if (scf->fd < 0) { in stat_cache_init_fam()
625 scf->fd = FAMCONNECTION_GETFD(&scf->fam); in stat_cache_init_fam()
626 fdevent_setfd_cloexec(scf->fd); in stat_cache_init_fam()
628 scf->fdn = fdevent_register(scf->ev, scf->fd, stat_cache_handle_fdevent, scf); in stat_cache_init_fam()
644 close(scf->fd); in stat_cache_free_fam()
645 scf->fd = -1; in stat_cache_free_fam()
654 if (-1 != scf->fd) { in stat_cache_free_fam()
806 sce->fd = -1; in stat_cache_entry_init()
826 if (sce->fd >= 0) close(sce->fd); in stat_cache_entry_free()
1117 if (sce->fd >= 0) { in stat_cache_update_entry()
1119 close(sce->fd); in stat_cache_update_entry()
1120 sce->fd = -1; in stat_cache_update_entry()
1361 if (sce->fd >= 0 && !stat_cache_stat_eq(&sce->st, &st)) { in stat_cache_get_entry()
1363 close(sce->fd); in stat_cache_get_entry()
1364 sce->fd = -1; in stat_cache_get_entry()
1397 if (sce->fd >= 0) return sce; in stat_cache_get_entry_open()
1399 sce->fd = stat_cache_open_rdonly_fstat(name, &sce->st, symlinks); in stat_cache_get_entry_open()
1463 const int fd = fdevent_open_cloexec(name->ptr, symlinks, O_RDONLY, 0); in stat_cache_open_rdonly_fstat() local
1464 if (fd >= 0) { in stat_cache_open_rdonly_fstat()
1465 if (0 == fstat(fd, st)) { in stat_cache_open_rdonly_fstat()
1466 return fd; in stat_cache_open_rdonly_fstat()
1469 close(fd); in stat_cache_open_rdonly_fstat()