static int daemonize (void)
{
struct rlimit rl;
+ int status;
pid_t pid = 0;
int i = 0;
close (i);
errno = 0;
- if (open ("/dev/null", O_RDWR) != 0) {
+ status = open ("/dev/null", O_RDWR);
+ if (status != 0) {
syslog (LOG_ERR, "Error: couldn't connect STDIN to /dev/null: %s",
strerror (errno));
return -1;
}
errno = 0;
- if (dup (0) != 1) {
+ status = dup (0);
+ if (status != 1) {
syslog (LOG_ERR, "Error: couldn't connect STDOUT to /dev/null: %s",
strerror (errno));
return -1;
}
errno = 0;
- if (dup (0) != 2) {
+ status = dup (0);
+ if (status != 2) {
syslog (LOG_ERR, "Error: couldn't connect STDERR to /dev/null: %s",
strerror (errno));
return -1;
#endif
)
{
+ int status;
+
if ((pid = fork ()) == -1)
{
/* error */
close (1);
close (0);
- if (open ("/dev/null", O_RDWR) != 0)
+ status = open ("/dev/null", O_RDWR);
+ if (status != 0)
{
- ERROR ("Error: Could not connect `STDIN' to `/dev/null'");
+ ERROR ("Error: Could not connect `STDIN' to `/dev/null' (status %d)", status);
return (1);
}
- if (dup (0) != 1)
+
+ status = dup (0);
+ if (status != 1)
{
- ERROR ("Error: Could not connect `STDOUT' to `/dev/null'");
+ ERROR ("Error: Could not connect `STDOUT' to `/dev/null' (status %d)", status);
return (1);
}
- if (dup (0) != 2)
+
+ status = dup (0);
+ if (status != 2)
{
- ERROR ("Error: Could not connect `STDERR' to `/dev/null'");
+ ERROR ("Error: Could not connect `STDERR' to `/dev/null', (status %d)", status);
return (1);
}
} /* if (daemonize) */