[389-devel] Revised: Ticket 509 - lock-free access to be->be_suffixlock - future reference
Mark Reynolds
mareynol at redhat.com
Mon Dec 10 16:54:16 UTC 2012
Ludwig,
In the future, can you make all comments of fix reviews in the trac
ticket? We actually never discuss reviews on mailing lists - only in
the trac tickets. Rich missed your comments about this bug.
Thanks,
Mark
On 12/10/2012 10:57 AM, Ludwig Krispenz wrote:
> And I think be_addsuffix is not safe.
>
> If two threads try to add a suffix, both can get the same current
> count, the both set the new suffix
> be->be_suffix[count]= slapi_sdn_dup(suffix);
>
> and then both increment count. the increment is atomic, but the
> assignment could be done to the wrong index.
>
> Ludwig
>
> On 12/10/2012 04:49 PM, Ludwig Krispenz wrote:
>> Hi Mark,
>>
>> in the locked version the list of suffixes cannot be changed while
>> you loop over them. In your version you get the suffix count and the
>> do a for loop i=0..count on it. Although suffixes don't get deleted
>> from the array there couls be cases where one is added from the time
>> you get the count to whwn you execute the loop. Could this be a
>> problem ?
>>
>> Ludwig
>>
>>
>> On 12/10/2012 04:29 PM, Mark Reynolds wrote:
>>> Here is the lock-free version....
>>>> https://fedorahosted.org/389/ticket/509
>>>>
>>>> https://fedorahosted.org/389/attachment/ticket/509/0001-Ticket-509-lock-free-access-to-be-be_suffixlock.patch
>>>>
>>>>
>>>
>>
>> --
>> 389-devel mailing list
>> 389-devel at lists.fedoraproject.org
>> https://admin.fedoraproject.org/mailman/listinfo/389-devel
>
> --
> 389-devel mailing list
> 389-devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/389-devel
--
Mark Reynolds
Red Hat, Inc
mreynolds at redhat.com
More information about the 389-devel
mailing list