SystemUpdate: Share last refresh time via DBus #175
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes elementary/switchboard-plug-about#342
I think this is a racing issue. The plug possibly reads from
last-refresh-time
before Settings Daemon writes to it.This issue wouldn't happen by making the plug inquire last refresh time from Settings Daemon instead of from GSettings, because Settings Daemon runs in a single thread and the following things happen in order:
last_refresh_time
at SystemUpdate.vala#L103update_state (UP_TO_DATE);
at SystemUpdate.vala#L107, which emitsstate_changed ()
signal at SystemUpdate.vala#L230. Then Settings Daemon returnscheck_for_updates ()
methodstate_changed ()
signal,update_state ()
method, at OperatingSystemView.vala#L389update_proxy.get_last_refresh_time ()
at OperatingSystemView.vala#L512get_last_refresh_time ()
at SystemUpdate.vala#L241 via DBus call from System Plug