From 0612e247a644046a01b018534cfc27e4af1d13e6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 21 Jun 2005 23:45:41 +0000 Subject: * remove stale UNIX sockets before creating new ones * make sure to flush outbound records after conflict detection git-svn-id: file:///home/lennart/svn/public/avahi/trunk@141 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/server.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'avahi-core') diff --git a/avahi-core/server.c b/avahi-core/server.c index a020f64..356a917 100644 --- a/avahi-core/server.c +++ b/avahi-core/server.c @@ -615,7 +615,6 @@ static void handle_query_packet(AvahiServer *s, AvahiDnsPacket *p, AvahiInterfac fail: avahi_record_list_flush(s->record_list); - } static void handle_response_packet(AvahiServer *s, AvahiDnsPacket *p, AvahiInterface *i, const AvahiAddress *a) { @@ -653,6 +652,12 @@ static void handle_response_packet(AvahiServer *s, AvahiDnsPacket *p, AvahiInter avahi_record_unref(record); } + + /* If the incoming response contained a conflicting record, some + records have been scheduling for sending. We need to flush them + here. */ + if (!avahi_record_list_empty(s->record_list)) + avahi_server_generate_response(s, i, NULL, NULL, 0, FALSE); } static AvahiLegacyUnicastReflectSlot* allocate_slot(AvahiServer *s) { -- cgit