summaryrefslogtreecommitdiffstats
path: root/bus/bus.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-04-05 19:03:40 +0000
committerHavoc Pennington <hp@redhat.com>2003-04-05 19:03:40 +0000
commit2250539aeee0569f8861841d1f5ff16f1539715e (patch)
treecdb7780972379ccac623e51b104e9db7daf401a2 /bus/bus.c
parent0cc7669fb899cfe5beb7e0069fe2a71a08b6abaa (diff)
2003-04-05 Havoc Pennington <hp@pobox.com>
* bus/loop.c (bus_loop_iterate): fix the timeout code, using magic from GLib * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid to -1 once we've reaped the babysitter (_dbus_babysitter_handle_watch): do as much work as we can, not just one go of it * bus/activation.c: add code using DBusBabysitter so that we handle it when a service fails to start up properly. (bus_activation_service_created): don't remove the activation entries as we go, just let them get removed when we free the pending activation. Unref reply messages after sending them.
Diffstat (limited to 'bus/bus.c')
-rw-r--r--bus/bus.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/bus/bus.c b/bus/bus.c
index 9125fc75..5ae77d62 100644
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -47,6 +47,7 @@ struct BusContext
DBusList *mandatory_rules; /**< Mandatory policy rules */
DBusHashTable *rules_by_uid; /**< per-UID policy rules */
DBusHashTable *rules_by_gid; /**< per-GID policy rules */
+ int activation_timeout; /**< How long to wait for an activation to time out */
};
static int server_data_slot = -1;
@@ -333,6 +334,12 @@ bus_context_new (const DBusString *config_file,
context->refcount = 1;
+#ifdef DBUS_BUILD_TESTS
+ context->activation_timeout = 6000; /* 6/10 second */ /* FIXME */
+#else
+ context->activation_timeout = 10000; /* 10 seconds */
+#endif
+
context->loop = bus_loop_new ();
if (context->loop == NULL)
{
@@ -853,3 +860,10 @@ bus_context_create_connection_policy (BusContext *context,
bus_policy_unref (policy);
return NULL;
}
+
+int
+bus_context_get_activation_timeout (BusContext *context)
+{
+
+ return context->activation_timeout;
+}