[PATCH 00/20] Fix deactivate/quit races and improve deactivate handling

Scott James Remnant scott at ubuntu.com
Thu Mar 18 14:15:34 PDT 2010


After correcting the VT issues, I started work on the issues with using
"plymouth deactivate" to transition to X.  This set of patches is a bit
less of a single story, but each builds on the next.

The first set corrects a set of races with different commands running
at different times producing unexpected side effects; since we use
Upstart for our boot, we can't really predict what order things come in.

Next I replace the existing semantics of deactivate with something that
simply deactivates the renderers and stops watching the terminal enough
for X to take over.

A companion reactivate command is added for debugging and future
shutdown transitions.

Finally a new has active vt? request is added to solve the issue where
the transition runs without Plymouth ever having shown a splash.

Scott James Remnant (20):
  [main] give quit command precedence over deactivate
  [main] pull deactivate trigger in quit_program()
  [main] fix bug with multiple deactivate commands
  [main] fix bug with multiple quit commands
  [main] Ignore --show-splash while deactivated
  [main] Ignore --hide-splash while deactivated
  [main] Ignore deactivate while deactivated
  [terminal] export functions to enable/disable VT watching
  [main] add deactivate_splash() function
  [main] call deactivate_splash() even when no splash
  [main] don't quit splash on deactivate
  [daemon] add reactivate command
  [client] Add new reactivate command
  [main] update display after reactivate
  [fade-throbber] resume animations on display_normal
  [space-flares] resume animations on display_normal
  [throbgress] resume animations on display_normal
  [two-step] resume animations on display_normal
  [daemon] add "has active vt?" request
  [client] add has active vt? request

 src/client/ply-boot-client.c              |   22 ++++
 src/client/ply-boot-client.h              |    8 ++
 src/client/plymouth.c                     |   31 ++++++-
 src/libply-splash-core/ply-terminal.c     |    4 +-
 src/libply-splash-core/ply-terminal.h     |    3 +
 src/main.c                                |  157 ++++++++++++++++++++++++-----
 src/plugins/splash/fade-throbber/plugin.c |   14 +--
 src/plugins/splash/space-flares/plugin.c  |   11 +-
 src/plugins/splash/throbgress/plugin.c    |   11 +-
 src/plugins/splash/two-step/plugin.c      |   10 +-
 src/ply-boot-protocol.h                   |    2 +
 src/ply-boot-server.c                     |   52 +++++++++-
 src/ply-boot-server.h                     |    6 +
 13 files changed, 272 insertions(+), 59 deletions(-)



More information about the plymouth mailing list