[gnome-remote-desktop] daemon: Only start servers, when they are not started yet
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-remote-desktop] daemon: Only start servers, when they are not started yet
- Date: Sat, 23 Apr 2022 16:08:43 +0000 (UTC)
commit 29afc237105de1315e8af9861e1dc79b744268c8
Author: Pascal Nowack <Pascal Nowack gmx de>
Date: Sat Apr 23 10:40:41 2022 +0200
daemon: Only start servers, when they are not started yet
Triggering a start of a server backend can be done in two ways:
1. In maybe_enable_services(), when the dbus proxies are ready
2. When switching the 'enable' gsettings key of the respected backend
If both events are triggered at the same time, then a start is
triggered in `maybe_enable_services()` and, depending on the backend,
in `on_rdp_enabled_changed()` or in `on_vnc_enabled_changed()`.
This leads to an assertion hit, as the respective server was already
started in such case.
To fix this situation, change the assertion into a normal conditional
statement, where the respective server backend is only started, when it
is not already started.
Fixes: https://errors.ubuntu.com/problem/11540483956116d59b3da5908cb6f7b0caeedae4
src/grd-daemon.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/grd-daemon.c b/src/grd-daemon.c
index 35616505..f04f4532 100644
--- a/src/grd-daemon.c
+++ b/src/grd-daemon.c
@@ -78,7 +78,8 @@ start_rdp_server (GrdDaemon *daemon)
GrdSettings *settings = grd_context_get_settings (daemon->context);
g_autoptr (GError) error = NULL;
- g_assert (!daemon->rdp_server);
+ if (daemon->rdp_server)
+ return;
if (!g_access (grd_settings_get_rdp_server_cert (settings), F_OK) &&
!g_access (grd_settings_get_rdp_server_key (settings), F_OK))
@@ -113,7 +114,8 @@ start_vnc_server (GrdDaemon *daemon)
{
g_autoptr (GError) error = NULL;
- g_assert (!daemon->vnc_server);
+ if (daemon->vnc_server)
+ return;
daemon->vnc_server = grd_vnc_server_new (daemon->context);
if (!grd_vnc_server_start (daemon->vnc_server, &error))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]