[Xfce4-commits] <tumbler:master> Release lifecycle manager during early exit.
Nick Schermer
noreply at xfce.org
Sat Dec 8 12:22:03 CET 2012
Updating branch refs/heads/master
to 27fb36bca2d3a94cd3d486bcd7117f07f1abe3d0 (commit)
from c8ad987bcf1639909c8545efcfc7acc9dec5928b (commit)
commit 27fb36bca2d3a94cd3d486bcd7117f07f1abe3d0
Author: Nick Schermer <nick at xfce.org>
Date: Sat Dec 8 11:49:39 2012 +0100
Release lifecycle manager during early exit.
tumblerd/main.c | 43 ++++++++--------------------------
tumblerd/tumbler-lifecycle-manager.c | 4 +--
2 files changed, 11 insertions(+), 36 deletions(-)
diff --git a/tumblerd/main.c b/tumblerd/main.c
index 8ac93b8..046c13f 100644
--- a/tumblerd/main.c
+++ b/tumblerd/main.c
@@ -70,6 +70,7 @@ main (int argc,
GList *thumbnailers;
GList *lp;
GList *tp;
+ gint retval = EXIT_SUCCESS;
/* set the program name */
g_set_prgname (G_LOG_DOMAIN);
@@ -162,14 +163,9 @@ main (int argc,
error->message);
g_error_free (error);
- g_object_unref (service);
- g_object_unref (manager);
- g_object_unref (cache_service);
- g_object_unref (registry);
-
- dbus_g_connection_unref (connection);
-
- return EXIT_FAILURE;
+ /* something failed */
+ retval = EXIT_FAILURE;
+ goto exit_tumbler;
}
/* try to start the service and exit if that fails */
@@ -178,15 +174,8 @@ main (int argc,
g_warning (_("Failed to start the thumbnail cache service: %s"), error->message);
g_error_free (error);
- g_object_unref (service);
- g_object_unref (manager);
- g_object_unref (cache_service);
- g_object_unref (registry);
-
- dbus_g_connection_unref (connection);
-
/* service already running, exit gracefully to not break clients */
- return EXIT_SUCCESS;
+ goto exit_tumbler;
}
/* try to start the service and exit if that fails */
@@ -195,15 +184,8 @@ main (int argc,
g_warning (_("Failed to start the thumbnailer manager: %s"), error->message);
g_error_free (error);
- g_object_unref (service);
- g_object_unref (manager);
- g_object_unref (cache_service);
- g_object_unref (registry);
-
- dbus_g_connection_unref (connection);
-
/* service already running, exit gracefully to not break clients */
- return EXIT_SUCCESS;
+ goto exit_tumbler;
}
/* try to start the service and exit if that fails */
@@ -212,15 +194,8 @@ main (int argc,
g_warning (_("Failed to start the thumbnailer service: %s"), error->message);
g_error_free (error);
- g_object_unref (service);
- g_object_unref (manager);
- g_object_unref (cache_service);
- g_object_unref (registry);
-
- dbus_g_connection_unref (connection);
-
/* service already running, exit gracefully to not break clients */
- return EXIT_SUCCESS;
+ goto exit_tumbler;
}
/* create a new main loop */
@@ -236,6 +211,8 @@ main (int argc,
/* enter the main loop, thereby making the tumbler service available */
g_main_loop_run (main_loop);
+ exit_tumbler:
+
/* shut our services down and release all objects */
g_object_unref (service);
g_object_unref (manager);
@@ -247,5 +224,5 @@ main (int argc,
dbus_g_connection_unref (connection);
/* we're done, all fine */
- return EXIT_SUCCESS;
+ return retval;
}
diff --git a/tumblerd/tumbler-lifecycle-manager.c b/tumblerd/tumbler-lifecycle-manager.c
index ee4ae10..4df8118 100644
--- a/tumblerd/tumbler-lifecycle-manager.c
+++ b/tumblerd/tumbler-lifecycle-manager.c
@@ -115,11 +115,9 @@ tumbler_lifecycle_manager_init (TumblerLifecycleManager *manager)
static void
tumbler_lifecycle_manager_finalize (GObject *object)
{
-#if !GLIB_CHECK_VERSION (2, 32, 0)
TumblerLifecycleManager *manager = TUMBLER_LIFECYCLE_MANAGER (object);
-#endif
- tumbler_mutex_free (TUMBLER_LIFECYCLE_MANAGER (object)->lock);
+ tumbler_mutex_free (manager->lock);
(*G_OBJECT_CLASS (tumbler_lifecycle_manager_parent_class)->finalize) (object);
}
More information about the Xfce4-commits
mailing list