GNOME Bugzilla – Bug 731859
Rygel's single-instance is weird
Last modified: 2014-06-21 17:46:19 UTC
Contrary to every other single instance application, rygel will by default replace the existing instance of the application, instead of saying that it was already launched and bail out. A separate command-line option could be used to replace existing instances. commit a400775e80fcaa069f2387fe8fea2dc60a972135 Author: Jens Georg <mail@jensge.org> Date: Wed Jul 27 11:32:49 2011 +0300 core: Shutdown other instance of rygel ourselves We need to wait for the other instance to be shut down, so we do it ourselves instead of using BusNameOwnerFlags.REPLACE. commit 9d9bfa6679f3896f009ced706e62426203357c18 Author: Jens Georg <mail@jensge.org> Date: Wed Jul 13 17:26:16 2011 +0200 core: Make rygel single-instance. The new instance steals the DBus name from the old instance which then shuts itself down. This is a temporary solution to avoid a race condition when multiple instances of Rygel being started by accident are trying to read and write the SCDP files simultaneously, resulting in empty SCDP files on-disk.
Well, you know how it is with temporary solutions ;)
Background: This was done for the never released Nokia N9 DLNA push client that needed to re-start rygel with a different set of parameters, so I suppose it can go now.
Created attachment 278899 [details] [review] rygel: Introduce -r/--replace option Also change default behavior: Previously, rygel would silently replace an already running instance. Now it just exists. To return to old behavior, the -r/--replace option was introduced. Signed-off-by: Jens Georg <mail@jensge.org>
Attachment 278899 [details] pushed as 412a3a1 - rygel: Introduce -r/--replace option