Bug 16071 - service dm должен выключаться первым
Summary: service dm должен выключаться первым
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: xinitrc (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: placeholder@altlinux.org
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-17 15:54 MSD by Anton Farygin
Modified: 2018-11-13 19:27 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2008-06-17 15:54:07 MSD
Наткнулись на забавный race, который вылезает при использовании автологина:
иногда не срабатывает выключение компьютера из xfce в livecd. Система остаётся подвешенной на смене runlevel с 5-ого на 6-й и с запущенным приглашением xdm.

Проблема заключается в следующем:
при выключении компьютера первым выполняется скрипт splash.sh, который делает при stop смену терминала с текущего на первый для отображения сплеша с помощью chvt. Алгоритм работы chvt предполагает ожидание выполнения команды на смену терминала (VT_WAITCONSOLE, по моему). В момент отправки команды poweroff происходит выходит из xfce (и из autologin) и запуск xdm, который меняет текущую консоль на 7-ю. 
проблема вылезает в том случае, если chvt уже выполнил смену vt на 1, и после этого xdm сменил её на 7-ю, но chvt ещё не начал делать VT_WAITCONSOLE. Соответственно chvt висит неопределённо долго, пока кто-то не сменит консоль на первую.

Предлагается service dm останавливать первым, в этом случае xdm (или другой dm) не будет запущен и мы избавимся от этого race.

Данное исправление так же необходимо для branch/4.0 и branch/4.1
Comment 1 Michael Shigorin 2012-06-14 14:45:47 MSK
См. тж. bug #27444.
Comment 2 Anton Farygin 2018-11-13 19:27:33 MSK
Не актуально на современном Sisyphus/systemd