summaryrefslogtreecommitdiffstats
path: root/avahi-core
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-08-03 23:09:50 +0000
committerLennart Poettering <lennart@poettering.net>2005-08-03 23:09:50 +0000
commit0e9cf557ea00c32225ffb8d1fd69fe9a85740b05 (patch)
tree4e764073bfafb76e34b16d93a73884cf81ab43d7 /avahi-core
parent3721d123911f7056129be17cdcd702f78795be0a (diff)
* correct fixes
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@222 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-core')
-rw-r--r--avahi-core/server.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/avahi-core/server.c b/avahi-core/server.c
index 087eafc..5426f5b 100644
--- a/avahi-core/server.c
+++ b/avahi-core/server.c
@@ -1947,10 +1947,8 @@ void avahi_entry_group_change_state(AvahiEntryGroup *g, AvahiEntryGroupState sta
g->state = state;
- if (g->callback) {
+ if (g->callback)
g->callback(g->server, g, state, g->userdata);
- return;
- }
}
AvahiEntryGroup *avahi_entry_group_new(AvahiServer *s, AvahiEntryGroupCallback callback, gpointer userdata) {
@@ -2002,18 +2000,21 @@ void avahi_entry_group_free(AvahiEntryGroup *g) {
static void entry_group_commit_real(AvahiEntryGroup *g) {
g_assert(g);
- avahi_announce_group(g->server, g);
- avahi_entry_group_check_probed(g, FALSE);
-
g_get_current_time(&g->register_time);
+
avahi_entry_group_change_state(g, AVAHI_ENTRY_GROUP_REGISTERING);
+
+ if (!g->dead) {
+ avahi_announce_group(g->server, g);
+ avahi_entry_group_check_probed(g, FALSE);
+ }
}
static void entry_group_register_time_event_callback(AvahiTimeEvent *e, gpointer userdata) {
AvahiEntryGroup *g = userdata;
g_assert(g);
-/* avahi_log_debug("Holdoff passed, waking up and going on."); */
+ avahi_log_debug("Holdoff passed, waking up and going on.");
avahi_time_event_queue_remove(g->server->time_event_queue, g->register_time_event);
g->register_time_event = NULL;
@@ -2042,13 +2043,13 @@ gint avahi_entry_group_commit(AvahiEntryGroup *g) {
if (avahi_timeval_compare(&g->register_time, &now) <= 0) {
/* Holdoff time passed, so let's start probing */
-/* avahi_log_debug("Holdoff passed, directly going on."); */
+ avahi_log_debug("Holdoff passed, directly going on.");
entry_group_commit_real(g);
} else {
-/* avahi_log_debug("Holdoff not passed, sleeping."); */
+ avahi_log_debug("Holdoff not passed, sleeping.");
- /* Holdoff time has not yet passed, so let's wait */
+ /* Holdoff time has not yet passed, so let's wait */
g_assert(!g->register_time_event);
g->register_time_event = avahi_time_event_queue_add(g->server->time_event_queue, &g->register_time, entry_group_register_time_event_callback, g);