From 138321d54c11376cabd40d8fb211941508ad5778 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:03:42 -0800 Subject: In the timeout function mention that we're shutting down, and have an environment variable to stop that. --- libindicator/indicator-service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index e2ec6b2..ccb56d5 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -316,7 +316,12 @@ get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspe static gboolean timeout_no_watchers (gpointer data) { - g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + g_warning("No watchers, service timing out."); + if (g_getenv("INDICATOR_ALLOW_NO_WATCHERS") == NULL) { + g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + } else { + g_warning("\tblocked by environment variable."); + } return FALSE; } -- cgit v1.2.3 From 21eca67f89870abd114f9ccc3ae04e7fd53189b1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:07:54 -0800 Subject: checking the error field for name callback and printing an error when it fails. --- libindicator/indicator-service.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index ccb56d5..eee95dd 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -334,10 +334,17 @@ try_and_get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer IndicatorService * service = INDICATOR_SERVICE(data); g_return_if_fail(service != NULL); + if (error != NULL) { + g_warning("Unable to send message to request name: %s", error->message); + g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); + return; + } + if (status != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER && status != DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER) { /* The already owner seems like it shouldn't ever happen, but I have a hard time throwing an error on it as we did achieve our goals. */ + g_warning("Name request failed. Status returned: %d", status); g_signal_emit(G_OBJECT(data), signals[SHUTDOWN], 0, TRUE); return; } -- cgit v1.2.3 From 52e1a43bd957bac1020d58134ab659553af7c4eb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:23:18 -0800 Subject: Changing timeout to be approximatedly 1 second. --- libindicator/indicator-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index eee95dd..fc3c7de 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -350,7 +350,7 @@ try_and_get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer } IndicatorServicePrivate * priv = INDICATOR_SERVICE_GET_PRIVATE(service); - priv->timeout = g_timeout_add(500, timeout_no_watchers, service); + priv->timeout = g_timeout_add_seconds(1, timeout_no_watchers, service); return; } -- cgit v1.2.3 From 1abf840d1c71c3aca0e4ec19a6c5c65a10da0413 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:31:45 -0800 Subject: Error handling when building our proxies. --- libindicator/indicator-service-manager.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libindicator/indicator-service-manager.c b/libindicator/indicator-service-manager.c index 7bb9a9b..47765da 100644 --- a/libindicator/indicator-service-manager.c +++ b/libindicator/indicator-service-manager.c @@ -397,6 +397,15 @@ start_service_cb (DBusGProxy * proxy, guint status, GError * error, gpointer use INDICATOR_SERVICE_OBJECT, INDICATOR_SERVICE_INTERFACE, &error); + + if (error != NULL || priv->service_proxy == NULL) { + g_warning("Unable to create service proxy on '%s': %s", priv->name, error == NULL ? "(null)" : error->message); + priv->service_proxy = NULL; /* Should be already, but we want to be *really* sure. */ + g_error_free(error); + start_service_again(INDICATOR_SERVICE_MANAGER(user_data)); + return; + } + g_object_add_weak_pointer(G_OBJECT(priv->service_proxy), (gpointer *)&(priv->service_proxy)); g_signal_connect(G_OBJECT(priv->service_proxy), "destroy", G_CALLBACK(service_proxy_destroyed), user_data); @@ -432,7 +441,7 @@ start_service (IndicatorServiceManager * service) INDICATOR_SERVICE_INTERFACE, &error); - if (error != NULL) { + if (error != NULL || priv->service_proxy == NULL) { /* We don't care about the error, just start the service anyway. */ g_error_free(error); org_freedesktop_DBus_start_service_by_name_async (priv->dbus_proxy, -- cgit v1.2.3 From 7c5818518d3bd0500c28ea42f0226fa40f066a94 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:39:29 -0800 Subject: Adding a debug message for restarting the service. --- libindicator/indicator-service-manager.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libindicator/indicator-service-manager.c b/libindicator/indicator-service-manager.c index 47765da..20eddec 100644 --- a/libindicator/indicator-service-manager.c +++ b/libindicator/indicator-service-manager.c @@ -485,6 +485,7 @@ start_service_again_cb (gpointer data) { IndicatorServiceManagerPrivate * priv = INDICATOR_SERVICE_MANAGER_GET_PRIVATE(data); priv->restart_count++; + g_debug("Restarting service '%s' count %d", priv->name, priv->restart_count); start_service(INDICATOR_SERVICE_MANAGER(data)); priv->restart_source = 0; return FALSE; -- cgit v1.2.3 From 7e7507e9e20d7e31ecf14dbbf6ff6d19e2e3326d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 28 Jan 2010 21:43:02 -0800 Subject: releasing version 0.3.1-0ubuntu1~ppa2~better1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 160c617..e2e58e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -libindicator (0.3.1-0ubuntu1~ppa2~better1) UNRELEASED; urgency=low +libindicator (0.3.1-0ubuntu1~ppa2~better1) lucid; urgency=low * Upstream merge * Various fixes to timeout handling in servcies and the service manager. - -- Ted Gould Thu, 28 Jan 2010 21:41:19 -0800 + -- Ted Gould Thu, 28 Jan 2010 21:42:58 -0800 libindicator (0.3.1-0ubuntu1~ppa1) karmic; urgency=low -- cgit v1.2.3 From e0dbaa39db9ccf72a4dd9405d620a590ac751249 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 1 Feb 2010 23:59:26 -0800 Subject: releasing version 0.3.1-0ubuntu1~ppa2 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index ccb0d37..420d728 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -libindicator (0.3.1-0ubuntu1~ppa2) UNRELEASED; urgency=low +libindicator (0.3.1-0ubuntu1~ppa2) lucid; urgency=low * Upstream merge * Various fixes to timeout handling in servcies and the service manager. - -- Ted Gould Mon, 01 Feb 2010 23:57:52 -0800 + -- Ted Gould Mon, 01 Feb 2010 23:59:23 -0800 libindicator (0.3.1-0ubuntu1~ppa1) karmic; urgency=low -- cgit v1.2.3 From 953e656562c2178a21880fc6cd5e43788994872a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 2 Feb 2010 12:01:22 -0800 Subject: Adding in run-xvfb.sh --- tests/Makefile.am | 4 ++++ tests/run-xvfb.sh | 7 +++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/run-xvfb.sh diff --git a/tests/Makefile.am b/tests/Makefile.am index 7fcccb6..97b3919 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -10,6 +10,9 @@ lib_LTLIBRARIES = \ libdummy-indicator-simple.la DBUS_RUNNER=dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf +XVFB_RUN=". $(srcdir)/run-xvfb.sh" + +EXTRA_DIST = run-xvfb.sh ############################# # Test Loader @@ -298,6 +301,7 @@ HTML_REPORT = loader-check-results.html loader-tester: test-loader libdummy-indicator-null.la libdummy-indicator-simple.la Makefile @echo "#!/bin/sh" > loader-tester + @echo $(XVFB_RUN) >> $@ @echo gtester -k --verbose -o=$(XML_REPORT) ./test-loader >> loader-tester @chmod +x loader-tester diff --git a/tests/run-xvfb.sh b/tests/run-xvfb.sh new file mode 100644 index 0000000..3622dbf --- /dev/null +++ b/tests/run-xvfb.sh @@ -0,0 +1,7 @@ +if [ "$DISPLAY" == "" ]; then +Xvfb -ac -noreset -screen 0 800x600x16 -help 2>/dev/null 1>&2 +XID=`for id in 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 ; do test -e /tmp/.X$id-lock || { echo $id; exit 0; }; done; exit 1` +{ Xvfb -ac -noreset -screen 0 800x600x16 :$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & trap "kill -15 $! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } || { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } +DISPLAY=:$XID +export DISPLAY +fi -- cgit v1.2.3 From 0526f26397c160fa4960f19c3155ce5c34db5ad8 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 2 Feb 2010 12:09:00 -0800 Subject: Adding an printout for saying which display we created. --- tests/run-xvfb.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/run-xvfb.sh b/tests/run-xvfb.sh index 3622dbf..63b6f0d 100644 --- a/tests/run-xvfb.sh +++ b/tests/run-xvfb.sh @@ -4,4 +4,5 @@ XID=`for id in 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 3 { Xvfb -ac -noreset -screen 0 800x600x16 :$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & trap "kill -15 $! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } || { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } DISPLAY=:$XID export DISPLAY +echo Setting display: $DISPLAY fi -- cgit v1.2.3 From 9719ffe24211ceaa5e4e3445bae8d5e172c5667f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 2 Feb 2010 12:10:23 -0800 Subject: Switching to 'bash' --- tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 97b3919..b111655 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -300,7 +300,7 @@ XML_REPORT = loader-check-results.xml HTML_REPORT = loader-check-results.html loader-tester: test-loader libdummy-indicator-null.la libdummy-indicator-simple.la Makefile - @echo "#!/bin/sh" > loader-tester + @echo "#!/bin/bash" > loader-tester @echo $(XVFB_RUN) >> $@ @echo gtester -k --verbose -o=$(XML_REPORT) ./test-loader >> loader-tester @chmod +x loader-tester -- cgit v1.2.3 From 527674dd6a94f1e9b0a558d6ac1a86593a8e787e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 2 Feb 2010 12:20:44 -0800 Subject: Adjusting to new timeout value --- tests/service-shutdown-timeout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/service-shutdown-timeout.c b/tests/service-shutdown-timeout.c index 666739a..820441c 100644 --- a/tests/service-shutdown-timeout.c +++ b/tests/service-shutdown-timeout.c @@ -31,7 +31,7 @@ main (int argc, char ** argv) IndicatorService * is = indicator_service_new("my.test.name"); g_signal_connect(G_OBJECT(is), INDICATOR_SERVICE_SIGNAL_SHUTDOWN, shutdown, NULL); - g_timeout_add_seconds(1, timeout, NULL); + g_timeout_add_seconds(2, timeout, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3 From 0d5ea56677c20ba1f6cd9f8687d7c33b373c6db2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Feb 2010 17:34:50 -0800 Subject: 0.3.2 --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 1f0ad9a..a816206 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ -AC_INIT(libindicator, 0.3.1, ted@canonical.com) +AC_INIT(libindicator, 0.3.2, ted@canonical.com) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(libindicator, 0.3.1) +AM_INIT_AUTOMAKE(libindicator, 0.3.2) AM_MAINTAINER_MODE m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES]) -- cgit v1.2.3 From 72ef75fa51c63e533ff2883bffc75bfc86a2c521 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 4 Feb 2010 17:40:09 -0800 Subject: releasing version 0.3.2-0ubuntu1~ppa1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4a6c100..70a75d0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,11 @@ -libindicator (0.3.2-0ubuntu1~ppa1) UNRELEASED; urgency=low +libindicator (0.3.2-0ubuntu1~ppa1) lucid; urgency=low * Upstream release 0.3.2 * Various fixes to timeout handling in services and the service manager. * Fix test suite when run headless - -- Ted Gould Thu, 04 Feb 2010 17:37:04 -0800 + -- Ted Gould Thu, 04 Feb 2010 17:40:06 -0800 libindicator (0.3.1-0ubuntu1~ppa1) karmic; urgency=low -- cgit v1.2.3