bugfix: check if an instance is already running which can happen when developing PackageKit
This commit is contained in:
parent
57dfc86474
commit
38f77f4667
@ -32,6 +32,8 @@
|
|||||||
#include <dbus/dbus-glib-lowlevel.h>
|
#include <dbus/dbus-glib-lowlevel.h>
|
||||||
|
|
||||||
#include "egg-debug.h"
|
#include "egg-debug.h"
|
||||||
|
#include "egg-dbus-monitor.h"
|
||||||
|
|
||||||
#include "pk-conf.h"
|
#include "pk-conf.h"
|
||||||
#include "pk-engine.h"
|
#include "pk-engine.h"
|
||||||
#include "pk-transaction.h"
|
#include "pk-transaction.h"
|
||||||
@ -167,6 +169,7 @@ main (int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
GMainLoop *loop;
|
GMainLoop *loop;
|
||||||
DBusGConnection *system_connection;
|
DBusGConnection *system_connection;
|
||||||
|
EggDbusMonitor *monitor;
|
||||||
gboolean ret;
|
gboolean ret;
|
||||||
gboolean verbose = FALSE;
|
gboolean verbose = FALSE;
|
||||||
gboolean disable_timer = FALSE;
|
gboolean disable_timer = FALSE;
|
||||||
@ -215,6 +218,16 @@ main (int argc, char *argv[])
|
|||||||
goto exit_program;
|
goto exit_program;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* check if an instance is already running */
|
||||||
|
monitor = egg_dbus_monitor_new ();
|
||||||
|
egg_dbus_monitor_assign (monitor, EGG_DBUS_MONITOR_SYSTEM, PK_DBUS_SERVICE);
|
||||||
|
ret = egg_dbus_monitor_is_connected (monitor);
|
||||||
|
g_object_unref (monitor);
|
||||||
|
if (ret) {
|
||||||
|
g_print ("Already running service which provides %s\n", PK_DBUS_SERVICE);
|
||||||
|
goto exit_program;
|
||||||
|
}
|
||||||
|
|
||||||
/* do stuff on ctrl-c */
|
/* do stuff on ctrl-c */
|
||||||
signal (SIGINT, pk_main_sigint_handler);
|
signal (SIGINT, pk_main_sigint_handler);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user