# HG changeset patch
# User Ante Karamatić <ante.karamatic@canonical.com>
# Date 1329463546 -3600
# Node ID 097ca775d3740a94591fbe0dd50124a51f140fff
# Parent d8c154589a16cb99ab16f36a27756ba94eefdbee
Medium: Use the resource timeout as an override to the default dbus timeout for upstart RA
diff --git a/lib/plugins/lrm/raexecupstart.c b/lib/plugins/lrm/raexecupstart.c
--- a/lib/plugins/lrm/raexecupstart.c
+++ b/lib/plugins/lrm/raexecupstart.c
@@ -169,7 +169,7 @@
/* It'd be better if it returned GError, so we can distinguish
* between failure modes (can't contact upstart, no such job,
* or failure to do action. */
- if (upstart_job_do(rsc_type, cmd)) {
+ if (upstart_job_do(rsc_type, cmd, timeout)) {
exit(EXECRA_OK);
} else {
exit(EXECRA_NO_RA);
diff --git a/lib/plugins/lrm/upstart-dbus.c b/lib/plugins/lrm/upstart-dbus.c
--- a/lib/plugins/lrm/upstart-dbus.c
+++ b/lib/plugins/lrm/upstart-dbus.c
@@ -319,7 +319,7 @@
}
gboolean
-upstart_job_do(const gchar *name, UpstartJobCommand cmd)
+upstart_job_do(const gchar *name, UpstartJobCommand cmd, const int timeout)
{
DBusGConnection *conn;
DBusGProxy *manager;
@@ -342,7 +342,8 @@
switch (cmd) {
case UPSTART_JOB_START:
cmd_name = "Start";
- dbus_g_proxy_call (job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout (job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
@@ -352,7 +353,8 @@
break;
case UPSTART_JOB_STOP:
cmd_name = "Stop";
- dbus_g_proxy_call(job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout(job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
@@ -360,7 +362,8 @@
break;
case UPSTART_JOB_RESTART:
cmd_name = "Restart";
- dbus_g_proxy_call (job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout (job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
diff --git a/lib/plugins/lrm/upstart-dbus.h b/lib/plugins/lrm/upstart-dbus.h
--- a/lib/plugins/lrm/upstart-dbus.h
+++ b/lib/plugins/lrm/upstart-dbus.h
@@ -29,7 +29,7 @@
} UpstartJobCommand;
G_GNUC_INTERNAL gchar **upstart_get_all_jobs(void);
-G_GNUC_INTERNAL gboolean upstart_job_do(const gchar *name, UpstartJobCommand cmd);
+G_GNUC_INTERNAL gboolean upstart_job_do(const gchar *name, UpstartJobCommand cmd, const int timeout);
G_GNUC_INTERNAL gboolean upstart_job_is_running (const gchar *name);
#endif /* _UPSTART_DBUS_H_ */
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/
# User Ante Karamatić <ante.karamatic@canonical.com>
# Date 1329463546 -3600
# Node ID 097ca775d3740a94591fbe0dd50124a51f140fff
# Parent d8c154589a16cb99ab16f36a27756ba94eefdbee
Medium: Use the resource timeout as an override to the default dbus timeout for upstart RA
diff --git a/lib/plugins/lrm/raexecupstart.c b/lib/plugins/lrm/raexecupstart.c
--- a/lib/plugins/lrm/raexecupstart.c
+++ b/lib/plugins/lrm/raexecupstart.c
@@ -169,7 +169,7 @@
/* It'd be better if it returned GError, so we can distinguish
* between failure modes (can't contact upstart, no such job,
* or failure to do action. */
- if (upstart_job_do(rsc_type, cmd)) {
+ if (upstart_job_do(rsc_type, cmd, timeout)) {
exit(EXECRA_OK);
} else {
exit(EXECRA_NO_RA);
diff --git a/lib/plugins/lrm/upstart-dbus.c b/lib/plugins/lrm/upstart-dbus.c
--- a/lib/plugins/lrm/upstart-dbus.c
+++ b/lib/plugins/lrm/upstart-dbus.c
@@ -319,7 +319,7 @@
}
gboolean
-upstart_job_do(const gchar *name, UpstartJobCommand cmd)
+upstart_job_do(const gchar *name, UpstartJobCommand cmd, const int timeout)
{
DBusGConnection *conn;
DBusGProxy *manager;
@@ -342,7 +342,8 @@
switch (cmd) {
case UPSTART_JOB_START:
cmd_name = "Start";
- dbus_g_proxy_call (job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout (job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
@@ -352,7 +353,8 @@
break;
case UPSTART_JOB_STOP:
cmd_name = "Stop";
- dbus_g_proxy_call(job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout(job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
@@ -360,7 +362,8 @@
break;
case UPSTART_JOB_RESTART:
cmd_name = "Restart";
- dbus_g_proxy_call (job, cmd_name, &error,
+ dbus_g_proxy_call_with_timeout (job, cmd_name,
+ timeout, &error,
G_TYPE_STRV, no_args,
G_TYPE_BOOLEAN, TRUE,
G_TYPE_INVALID,
diff --git a/lib/plugins/lrm/upstart-dbus.h b/lib/plugins/lrm/upstart-dbus.h
--- a/lib/plugins/lrm/upstart-dbus.h
+++ b/lib/plugins/lrm/upstart-dbus.h
@@ -29,7 +29,7 @@
} UpstartJobCommand;
G_GNUC_INTERNAL gchar **upstart_get_all_jobs(void);
-G_GNUC_INTERNAL gboolean upstart_job_do(const gchar *name, UpstartJobCommand cmd);
+G_GNUC_INTERNAL gboolean upstart_job_do(const gchar *name, UpstartJobCommand cmd, const int timeout);
G_GNUC_INTERNAL gboolean upstart_job_is_running (const gchar *name);
#endif /* _UPSTART_DBUS_H_ */
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/