static void server_done(Server *s) { assert(s); if (s->epoll_fd >= 0) close_nointr_nofail(s->epoll_fd); if (s->kmsg_fd >= 0) close_nointr_nofail(s->kmsg_fd); if (s->signal_fd >= 0) close_nointr_nofail(s->signal_fd); if (s->syslog_fds) fdset_free(s->syslog_fds); }
static void test_fdset_remove(void) { _cleanup_close_ int fd = -1; FDSet *fdset = NULL; char name[] = "/tmp/test-fdset_remove.XXXXXX"; fd = mkostemp_safe(name, O_RDWR|O_CLOEXEC); assert_se(fd >= 0); fdset = fdset_new(); assert_se(fdset); assert_se(fdset_put(fdset, fd) >= 0); assert_se(fdset_remove(fdset, fd) >= 0); assert_se(!fdset_contains(fdset, fd)); fdset_free(fdset); assert_se(fcntl(fd, F_GETFD) >= 0); unlink(name); }
void context_fini_fdset_netns(context_t *ctx) { fdset_free(&ctx->fdset_netns); }
void context_fini_fdset_glob(context_t *ctx) { fdset_free(&ctx->fdset_glob); }