Fix std* files not being redirected when daemonising
This could occur when built with assertions removed. Closes #2708. Thanks to ckoehne.
This commit is contained in:
parent
ec173fffe8
commit
62b68364c7
@ -3,6 +3,8 @@ Broker:
|
||||
disappearing.
|
||||
- Fix some retained topic memory not being cleared immediately after used.
|
||||
- Fix error handling related to the `bind_interface` option.
|
||||
- Fix std* files not being redirected when daemonising, when built with
|
||||
assertions removed. Closes #2708.
|
||||
|
||||
2.0.15 - 2022-08-16
|
||||
===================
|
||||
|
@ -160,9 +160,18 @@ static void mosquitto__daemonise(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
assert(freopen("/dev/null", "r", stdin));
|
||||
assert(freopen("/dev/null", "w", stdout));
|
||||
assert(freopen("/dev/null", "w", stderr));
|
||||
if(!freopen("/dev/null", "r", stdin)){
|
||||
log__printf(NULL, MOSQ_LOG_ERR, "Error whilst daemonising (%s): %s", "stdin", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
if(!freopen("/dev/null", "w", stdout)){
|
||||
log__printf(NULL, MOSQ_LOG_ERR, "Error whilst daemonising (%s): %s", "stdout", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
if(!freopen("/dev/null", "w", stderr)){
|
||||
log__printf(NULL, MOSQ_LOG_ERR, "Error whilst daemonising (%s): %s", "stderr", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
#else
|
||||
log__printf(NULL, MOSQ_LOG_WARNING, "Warning: Can't start in daemon mode in Windows.");
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user