1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-11 05:17:44 +03:00

pid1: initialize status color mode after setting up TERM

Also we had to connect PID's stdio to null later since colors_enabled()
assume that stdout is connected to the console.
This commit is contained in:
Franck Bui 2016-06-20 21:45:28 +02:00
parent 32391275c0
commit 3a18b60489

View File

@ -1382,7 +1382,6 @@ int main(int argc, char *argv[]) {
saved_argv = argv;
saved_argc = argc;
log_show_color(colors_enabled());
log_set_upgrade_syslog_to_journal(true);
/* Disable the umask logic */
@ -1393,7 +1392,6 @@ int main(int argc, char *argv[]) {
/* Running outside of a container as PID 1 */
arg_system = true;
make_null_stdio();
log_set_target(LOG_TARGET_KMSG);
log_open();
@ -1511,12 +1509,19 @@ int main(int argc, char *argv[]) {
/* We expect the environment to be set correctly if run inside a
* container. */
if (arg_system && detect_container() <= 0)
if (arg_system && detect_container() <= 0) {
if (fixup_environment() < 0) {
error_message = "Failed to fix up PID1 environment";
goto finish;
}
/* Try to figure out if we can use colors with the console. No
* need to do that for user instances since they never log
* into the console. */
log_show_color(colors_enabled());
make_null_stdio();
}
/* Initialize default unit */
r = free_and_strdup(&arg_default_unit, SPECIAL_DEFAULT_TARGET);
if (r < 0) {