summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Estienne <sebastien.estienne@gmail.com>2005-09-29 22:11:52 +0000
committerSebastien Estienne <sebastien.estienne@gmail.com>2005-09-29 22:11:52 +0000
commit4483bcd6692d77449c017ccebbca47e6fa5e1f1a (patch)
tree75ceb917cc905c03546a77618d40c96348333f57
parenta1ad29b4108200dc50978f4f71c92394144e2c4a (diff)
* backporting patch from rev 641 and rev 642
git-svn-id: file:///home/lennart/svn/public/avahi/branches/working-0.5.x@654 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/server.c9
-rw-r--r--avahi-daemon/dbus-protocol.c1
2 files changed, 4 insertions, 6 deletions
diff --git a/avahi-core/server.c b/avahi-core/server.c
index 11deb24..59ab6c1 100644
--- a/avahi-core/server.c
+++ b/avahi-core/server.c
@@ -2297,26 +2297,23 @@ void avahi_s_entry_group_reset(AvahiSEntryGroup *g) {
AvahiEntry *e;
assert(g);
- if (g->register_time_event) {
- avahi_time_event_free(g->register_time_event);
- g->register_time_event = NULL;
- }
-
for (e = g->entries; e; e = e->by_group_next) {
if (!e->dead) {
avahi_goodbye_entry(g->server, e, 1);
e->dead = 1;
}
}
+ g->server->need_entry_cleanup = 1;
if (g->register_time_event) {
avahi_time_event_free(g->register_time_event);
g->register_time_event = NULL;
}
- g->server->need_entry_cleanup = 1;
g->n_probing = 0;
+ gettimeofday(&g->register_time, NULL);
+
avahi_s_entry_group_change_state(g, AVAHI_ENTRY_GROUP_UNCOMMITED);
}
diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c
index 1e69916..8ec45e2 100644
--- a/avahi-daemon/dbus-protocol.c
+++ b/avahi-daemon/dbus-protocol.c
@@ -707,6 +707,7 @@ static DBusHandlerResult msg_entry_group_impl(DBusConnection *c, DBusMessage *m,
}
avahi_s_entry_group_reset(i->entry_group);
+ i->n_entries = 0;
return respond_ok(c, m);
} else if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_ENTRY_GROUP, "IsEmpty")) {