timesyncd: only listen to clock changes when connected
This reverts previous commit and applies a different fix. manager_clock_watch() callback calls manager_send_request() to kick off a resync. We can only do that when we're actually connected to something. It is not useful to setup the callback from manager_new(). Now the callback will be dropped in manager_connect() and requested in manager_begin(). https://bugs.freedesktop.org/show_bug.cgi?id=80932
This commit is contained in:
@@ -331,9 +331,6 @@ static int manager_clock_watch(sd_event_source *source, int fd, uint32_t revents
|
||||
/* rearm timer */
|
||||
manager_clock_watch_setup(m);
|
||||
|
||||
if (!m->current_server_address)
|
||||
return 0;
|
||||
|
||||
/* skip our own jumps */
|
||||
if (m->jumped) {
|
||||
m->jumped = false;
|
||||
@@ -1049,10 +1046,6 @@ static int manager_new(Manager **ret) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = manager_clock_watch_setup(m);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
*ret = m;
|
||||
m = NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user