From: Ray Strode Date: Thu, 16 Jan 2014 20:38:05 +0000 (-0500) Subject: Revert "boot-server: defer show-splash reply until splash shown" X-Git-Tag: 0.9.0~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97100b17606099ff24257a690dbef1f32ffaff58;p=thirdparty%2Fplymouth.git Revert "boot-server: defer show-splash reply until splash shown" This reverts commit 126345af8704a9b10481657d79d66cbea93e1647. If plymouth show-splash blocks until the splash screen is shown, then systemd-ask-for-password-plymouth will block for 5 seconds before asking for the password (which would have canceled the 5 second delay if it weren't for the dependency on plymouth-start.service) --- diff --git a/src/main.c b/src/main.c index 243a0e6b..9b0c9377 100644 --- a/src/main.c +++ b/src/main.c @@ -101,7 +101,6 @@ typedef struct ply_terminal_t *local_console_terminal; ply_device_manager_t *device_manager; - ply_trigger_t *show_trigger; ply_trigger_t *deactivate_trigger; ply_trigger_t *quit_trigger; @@ -875,8 +874,7 @@ plymouth_should_show_default_splash (state_t *state) } static void -on_show_splash (state_t *state, - ply_trigger_t *show_trigger) +on_show_splash (state_t *state) { bool has_open_seats; @@ -899,7 +897,6 @@ on_show_splash (state_t *state, return; } - state->show_trigger = show_trigger; state->is_shown = true; has_open_seats = ply_device_manager_has_open_seats (state->device_manager); @@ -987,13 +984,6 @@ show_splash (state_t *state) show_detailed_splash (state); state->showing_details = true; } - - if (state->show_trigger != NULL) - { - ply_trace ("telling boot server about completed show operation"); - ply_trigger_pull (state->show_trigger, NULL); - state->show_trigger = NULL; - } } static void diff --git a/src/ply-boot-server.c b/src/ply-boot-server.c index 78c9c52e..3e67bfbf 100644 --- a/src/ply-boot-server.c +++ b/src/ply-boot-server.c @@ -309,18 +309,6 @@ ply_boot_connection_on_password_answer (ply_boot_connection_t *connection, } -static void -ply_boot_connection_on_splash_shown (ply_boot_connection_t *connection) -{ - ply_trace ("shown"); - if (!ply_write (connection->fd, - PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ACK, - strlen (PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ACK))) - { - ply_trace ("could not finish writing deactivate reply: %m"); - } -} - static void ply_boot_connection_on_deactivated (ply_boot_connection_t *connection) { @@ -489,23 +477,9 @@ ply_boot_connection_on_request (ply_boot_connection_t *connection) } else if (strcmp (command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_SHOW_SPLASH) == 0) { - ply_trigger_t *show_trigger; - ply_trace ("got show splash request"); - - show_trigger = ply_trigger_new (NULL); - - ply_trigger_add_handler (show_trigger, - (ply_trigger_handler_t) - ply_boot_connection_on_splash_shown, - connection); - if (server->show_splash_handler != NULL) - server->show_splash_handler (server->user_data, show_trigger, server); - - free (argument); - free (command); - return; + server->show_splash_handler (server->user_data, server); } else if (strcmp (command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_HIDE_SPLASH) == 0) { diff --git a/src/ply-boot-server.h b/src/ply-boot-server.h index 4436be85..b885a81f 100644 --- a/src/ply-boot-server.h +++ b/src/ply-boot-server.h @@ -49,7 +49,6 @@ typedef void (* ply_boot_server_newroot_handler_t) (void *user_data ply_boot_server_t *server); typedef void (* ply_boot_server_show_splash_handler_t) (void *user_data, - ply_trigger_t *show_trigger, ply_boot_server_t *server); typedef void (* ply_boot_server_hide_splash_handler_t) (void *user_data,