Learn more about these different git repos.
Other Git URLs
In some condition calling isc_task_beginexclusive in set_value could lead to:
task.c:1678: REQUIRE(task->state == task_state_running) failed, back trace
We should ensure mutual exclusion (running in single thread) by caller ie. new_ldap_instance, ldap_parse_configentry, ldap_parse_master_zoneentry.
Reference to task is no longer required in settings.c.
attachment 0001-Remove-mutual-exclusion-from-set_value-and-setting_u.patch
Hello,
please let me clarify the purpose of task parameter in setting* functions:
task
setting*
It is kind of optimization. It prevents unnecessary isc_task_beginexclusive calls when new and old values are the same.
isc_task_beginexclusive
That would not be possible without adding explicit checks before every call to setting_set function.
setting_set
It is possible that there are some race conditions somewhere, in that case please provide stack traces and logs so we can fix them.
I don't think we should spread synchronization across the whole plugin.
I'm going to close this ticket. Feel free to reopen it if necessary. Thank you for understanding.
No need to clone deferred tickets to downstream.
Metadata Update from @mkosek: - Issue assigned to pspacek - Issue set to the milestone: The Deferred
Login to comment on this ticket.