summaryrefslogtreecommitdiffstats
path: root/bus/expirelist.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-10-14 05:16:56 +0000
committerHavoc Pennington <hp@redhat.com>2003-10-14 05:16:56 +0000
commit64f5ae1a79a8cd86a3aae55e485729da438d84d0 (patch)
treeab2bc587211d813d8bb224db51c1f6446d05aa2c /bus/expirelist.c
parentbfb5de511cbc072aca59189efc1324397d8993fd (diff)
2003-10-14 Havoc Pennington <hp@redhat.com>
* bus/connection.c: implement pending reply tracking using BusExpireList * bus/bus.c (bus_context_check_security_policy): verify that a reply is pending in order to allow a reply to be sent. Deny messages of unknown type. * bus/dbus-daemon-1.1.in: update to mention new resource limits * bus/bus.c (bus_context_get_max_replies_per_connection): new (bus_context_get_reply_timeout): new
Diffstat (limited to 'bus/expirelist.c')
-rw-r--r--bus/expirelist.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/bus/expirelist.c b/bus/expirelist.c
index f732ebd1..a1ce226d 100644
--- a/bus/expirelist.c
+++ b/bus/expirelist.c
@@ -141,7 +141,13 @@ do_expiration_with_current_time (BusExpireList *list,
if (elapsed >= (double) list->expire_after)
{
_dbus_verbose ("Expiring an item %p\n", item);
- (* list->expire_func) (list, item, list->data);
+
+ /* If the expire function fails, we just end up expiring
+ * this item next time we walk through the list. Which is in
+ * indeterminate time since we don't know what next_interval
+ * will be.
+ */
+ (* list->expire_func) (list, link, list->data);
}
else
{
@@ -201,12 +207,12 @@ typedef struct
static void
test_expire_func (BusExpireList *list,
- BusExpireItem *item,
+ DBusList *link,
void *data)
{
TestExpireItem *t;
- t = (TestExpireItem*) item;
+ t = (TestExpireItem*) link->data;
t->expire_count += 1;
}