safe_close(fds[i]);
}
+void close_many_unset(int fds[], size_t n_fd) {
+ assert(fds || n_fd <= 0);
+
+ for (size_t i = 0; i < n_fd; i++)
+ fds[i] = safe_close(fds[i]);
+}
+
void close_many_and_free(int *fds, size_t n_fds) {
assert(fds || n_fds <= 0);
}
void close_many(const int fds[], size_t n_fd);
+void close_many_unset(int fds[], size_t n_fd);
void close_many_and_free(int *fds, size_t n_fds);
int fclose_nointr(FILE *f);
if (!p)
return;
- for (size_t i = 0; p->fds && i < p->n_socket_fds + p->n_storage_fds; i++)
- p->fds[i] = safe_close(p->fds[i]);
+ close_many_unset(p->fds, p->n_socket_fds + p->n_storage_fds);
p->cgroup_path = mfree(p->cgroup_path);