Fix #6147 DB corruption from child process overwrite
Don't leave stdout/stderr dangling on a fork.
This commit is contained in:
parent
df9843212a
commit
47d094c0c4
|
@ -127,13 +127,18 @@ void fork(const std::string & pidfile)
|
||||||
{
|
{
|
||||||
quit("Unable to open output file: " + output);
|
quit("Unable to open output file: " + output);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (open("/dev/null", O_WRONLY) < 0)
|
||||||
|
{
|
||||||
|
quit("Unable to open /dev/null");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Also send standard error to the same log file.
|
// Also send standard error to the same log file.
|
||||||
if (dup(1) < 0)
|
if (dup(1) < 0)
|
||||||
{
|
{
|
||||||
quit("Unable to dup output descriptor");
|
quit("Unable to dup output descriptor");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace posix
|
} // namespace posix
|
||||||
|
|
Loading…
Reference in New Issue