Rhythmbox performs delayed commits of in-memory-data to disk. All data is finally synced to disk on the handler to "window::delete-event" signal. Restarting rhythmbox via execl will overwrite the existing process image which has new uncommitted data, causing irreversible data loss.
Eg.
Open rhythmbox with alt-toolbar plugin enabled.
Go to podcasts source and check the feed count ( say, "All 4 feeds" ).
Now subscribe to a new podcast feed.
Now the feed count should be "All 5 feeds". The new feed data is still uncommitted to disk.
Now go to alt-toolbar preferences and press "Restart".
Go to podcasts source and now check the feed count.
Feed count will now show "All 4 feeds" as the new feed is lost by execl overwrite.
The alternative is to display an info dialog to the user to restart the application.
Rhythmbox performs delayed commits of in-memory-data to disk. All data is finally synced to disk on the handler to "window::delete-event" signal. Restarting rhythmbox via execl will overwrite the existing process image which has new uncommitted data, causing irreversible data loss.
Eg.
The alternative is to display an info dialog to the user to restart the application.