Hi Masoud,
there's a DDNS update queue in the zone structure. Access to it is protected by a
mutex. Updates are processed in order they were added to the queue, and all the changes
are processed into a single zone_update_t structure. That is basically a set of changes
that is later applied using a RCU lock, as you correctly noted.
Some hints for you:
process_query.c:141: processing DDNS UPDATE packet
zone.c:506: adding the DDNS change to the queue - you can see the DDNS mutex here
update.c:131: process_normal function that processes the list and manages the actual
update of the zone
Cheers,
Dominik
On 04/08/2016 07:43 PM, masoud hematpour wrote:
Hello to all,
I tried to look a little bit to the codes but can I ask how concurrent update is
avoided? I mean RCU is used to avoid concurrent read and write. But how concurrent update
is avoided?
Thank you!
masoud
_______________________________________________
knot-dns-users mailing list
knot-dns-users(a)lists.nic.cz
https://lists.nic.cz/cgi-bin/mailman/listinfo/knot-dns-users