Bug 16071 - service dm должен выключаться первым
: service dm должен выключаться первым
Status: NEW
: Sisyphus
(All bugs in Sisyphus/xinitrc)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-06-17 15:54 by
Modified: 2012-06-14 14:45 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-06-17 15:54:07
Наткнулись на забавный 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 From 2012-06-14 14:45:47 -------
См. тж. bug #27444.