From 583c0f228d2e0ad6fa38eba23c86e507fda133b7 Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Thu, 21 Oct 2021 23:14:40 +0900 Subject: [PATCH] dnssd-plugin: overwrite sdref_map for duplicate fd Change-Id: Iba2b8e5ea6bb541289b4c627a714315c0da3b624 --- plugins/dns-sd/dns-sd-plugin.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/dns-sd/dns-sd-plugin.cpp b/plugins/dns-sd/dns-sd-plugin.cpp index 5d8f5a9..2a1b79f 100755 --- a/plugins/dns-sd/dns-sd-plugin.cpp +++ b/plugins/dns-sd/dns-sd-plugin.cpp @@ -152,11 +152,12 @@ void add_new_fd(vine_dns_sd_s *dns_sd_handle, VINE_LOGD("Insert new service ref[%p] fd[%d]", service_ref, fd); if (!dns_sd_handle->sdref_map.find(fd)) { - dns_sd_handle->sdref_map.insert(fd, service_ref); VINE_LOGD("New fd[%d] to be added", fd); } else { VINE_LOGI("Duplicate fd[%d]", fd); + dns_sd_handle->sdref_map.erase(fd); } + dns_sd_handle->sdref_map.insert(fd, service_ref); if (event_callbacks.fd_added_cb) event_callbacks.fd_added_cb(fd, dns_sd_handle->user_data); -- 2.7.4