#include <sys/param.h>
#include <sys/syslog.h>
#include <unistd.h> /* for getopt() */
+#include <stdlib.h>
#if defined(__GLIBC__)
#include <sys/kdaemon.h>
#else
+#include <sys/syscall.h>
+#include <linux/unistd.h>
static _syscall2(int, bdflush, int, func, int, data);
#endif /* __GLIBC__ */
pid = fork();
if (pid < 0)
- exit(FALSE);
+ return EXIT_FAILURE;
else if (pid == 0) {
/* Become a proper daemon */
setsid();
chdir("/");
+#ifdef OPEN_MAX
for (pid = 0; pid < OPEN_MAX; pid++) close(pid);
+#else
+ /* glibc 2.1.92 requires using sysconf(_SC_OPEN_MAX) */
+ for (pid = 0; pid < sysconf(_SC_OPEN_MAX); pid++) close(pid);
+#endif
/*
* This is no longer necessary since 1.3.5x, but it will harmlessly
syslog(LOG_INFO,
"This kernel does not need update(8). Exiting.");
closelog();
- exit(TRUE);
+ return EXIT_SUCCESS;
}
}
}
}
- return( TRUE);
+ return EXIT_SUCCESS;
}
/*