diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-09-28 01:12:34 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-09-28 01:12:34 +0000 |
commit | 5de0404511175a1c294229b1cbda1c51a7a5eb8c (patch) | |
tree | 7e4c4cc0c7739306869b44a3f98e45aaa347065b | |
parent | c2800ad3a9fe1b4ccb750d04b6c8a80b084ba182 (diff) |
* fix a bug found by Sebastien triggered be repeatedly resetting and commiting an entry group
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@641 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | avahi-core/server.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/avahi-core/server.c b/avahi-core/server.c index dc63c67..c4545c6 100644 --- a/avahi-core/server.c +++ b/avahi-core/server.c @@ -2331,26 +2331,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); } |