#include #include #include #ifdef __linux__ #include #endif #include "cron.h" int close_all(int start) { #ifdef F_CLOSEM return fcntl(start, F_CLOSEM); #else int fd, max; max = sysconf(_SC_OPEN_MAX); if (max <= 0) return -1; #ifdef __linux__ if (max < NR_OPEN) max = NR_OPEN; #endif for (fd = start; fd < max; fd++) { if (close(fd) && errno != EBADF) return -1; } return 0; #endif }