@@ -577,7 +577,7 @@ static int vt_reset_keyboard(int fd) {
577
577
return RET_NERRNO (ioctl (fd , KDSKBMODE , kb ));
578
578
}
579
579
580
- static int terminal_reset_ioctl (int fd , bool switch_to_text ) {
580
+ int terminal_reset_ioctl (int fd , bool switch_to_text ) {
581
581
struct termios termios ;
582
582
int r ;
583
583
@@ -645,7 +645,7 @@ static int terminal_reset_ioctl(int fd, bool switch_to_text) {
645
645
return r ;
646
646
}
647
647
648
- static int terminal_reset_ansi_seq (int fd ) {
648
+ int terminal_reset_ansi_seq (int fd ) {
649
649
int r , k ;
650
650
651
651
assert (fd >= 0 );
@@ -675,35 +675,6 @@ static int terminal_reset_ansi_seq(int fd) {
675
675
return k < 0 ? k : r ;
676
676
}
677
677
678
- void reset_dev_console_fd (int fd , bool switch_to_text ) {
679
- int r ;
680
-
681
- assert (fd >= 0 );
682
-
683
- _cleanup_close_ int lock_fd = lock_dev_console ();
684
- if (lock_fd < 0 )
685
- log_debug_errno (lock_fd , "Failed to lock /dev/console, ignoring: %m" );
686
-
687
- r = terminal_reset_ioctl (fd , switch_to_text );
688
- if (r < 0 )
689
- log_warning_errno (r , "Failed to reset /dev/console, ignoring: %m" );
690
-
691
- unsigned rows , cols ;
692
- r = proc_cmdline_tty_size ("/dev/console" , & rows , & cols );
693
- if (r < 0 )
694
- log_warning_errno (r , "Failed to get /dev/console size, ignoring: %m" );
695
- else if (r > 0 ) {
696
- r = terminal_set_size_fd (fd , NULL , rows , cols );
697
- if (r < 0 )
698
- log_warning_errno (r , "Failed to set configured terminal size on /dev/console, ignoring: %m" );
699
- } else
700
- (void ) terminal_fix_size (fd , fd );
701
-
702
- r = terminal_reset_ansi_seq (fd );
703
- if (r < 0 )
704
- log_warning_errno (r , "Failed to reset /dev/console using ANSI sequences, ignoring: %m" );
705
- }
706
-
707
678
int lock_dev_console (void ) {
708
679
_cleanup_close_ int fd = - EBADF ;
709
680
int r ;
@@ -737,7 +708,25 @@ int make_console_stdio(void) {
737
708
return log_error_errno (r , "Failed to make /dev/null stdin/stdout/stderr: %m" );
738
709
739
710
} else {
740
- reset_dev_console_fd (fd , /* switch_to_text= */ true);
711
+ unsigned rows , cols ;
712
+
713
+ r = terminal_reset_ioctl (fd , /* switch_to_text= */ true);
714
+ if (r < 0 )
715
+ log_warning_errno (r , "Failed to reset terminal, ignoring: %m" );
716
+
717
+ r = proc_cmdline_tty_size ("/dev/console" , & rows , & cols );
718
+ if (r < 0 )
719
+ log_warning_errno (r , "Failed to get terminal size, ignoring: %m" );
720
+ else if (r > 0 ) {
721
+ r = terminal_set_size_fd (fd , NULL , rows , cols );
722
+ if (r < 0 )
723
+ log_warning_errno (r , "Failed to set configured terminal size, ignoring: %m" );
724
+ } else
725
+ (void ) terminal_fix_size (fd , fd );
726
+
727
+ r = terminal_reset_ansi_seq (fd );
728
+ if (r < 0 )
729
+ log_warning_errno (r , "Failed to reset terminal using ANSI sequences, ignoring: %m" );
741
730
742
731
r = rearrange_stdio (fd , fd , fd ); /* This invalidates 'fd' both on success and on failure. */
743
732
if (r < 0 )
0 commit comments