On Mon, 2018-11-19 at 10:23 +0000, Frediano Ziglio wrote: > Do not try indefinitely to connect to the daemon, should not > take long to activate. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > src/vdagent/vdagent.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > Changes since v1: > - log error when we reach the limit > > diff --git a/src/vdagent/vdagent.c b/src/vdagent/vdagent.c > index f7c8b72..7a58150 100644 > --- a/src/vdagent/vdagent.c > +++ b/src/vdagent/vdagent.c > @@ -53,6 +53,7 @@ typedef struct VDAgent { > struct vdagent_file_xfers *xfers; > struct udscs_connection *conn; > GIOChannel *x11_channel; > + guint connection_attempts; > > GMainLoop *loop; > } VDAgent; > @@ -370,6 +371,11 @@ static gboolean vdagent_init_async_cb(gpointer user_data) > daemon_read_complete, daemon_disconnect_cb, > debug); > if (agent->conn == NULL) { > + // limit connection attempts, this will try for 5 minutes > + if (++agent->connection_attempts > 5 * 60) { > + syslog(LOG_ERR, "Attempted to contact daemon for 5 minutes, giving up"); > + goto err_init; > + } (in reference to trying to keep it simple from v1 thread:) I think using 60 instead of 1 in g_timeout_add_seconds() wouldn't be much of a complication... unless there's something else I'm missing. I'm also thinking this is being launched from a .desktop file so AFAIK there is no easy way for a user to restart the service, a relogin is needed? I also just realized you should reset connection_attempts to 0 after a successful connect? Cheers, Lukas > g_timeout_add_seconds(1, vdagent_init_async_cb, agent); > return G_SOURCE_REMOVE; > } _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel