Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/lib/libkern



In article <4744FEE0.7020708%dtsp.co.nz@localhost>,
David Sainty  <David.Sainty%dtsp.co.nz@localhost> wrote:
>Joerg Sonnenberger wrote:
>> On Thu, Nov 22, 2007 at 12:15:47PM +0900, YAMAMOTO Takashi wrote:
>>   
>>>> On Thu, Nov 22, 2007 at 11:31:44AM +0900, YAMAMOTO Takashi wrote:
>>>>       
>>>>> how about returning the duplicate node rather than a boolean?
>>>>>         
>>>> I don't think that is a common use case. E.g. normally insert is used to
>>>> prepare a new node and a duplicate entry is an actual error. I can't
>>>> think of a good example where you want to replace the existing entry and
>>>> didn't check for that earlier.
>>>>
>>>> Joerg
>>>>       
>>> i'm not suggesting to automatically replace an existing node.
>>>     
>>
>> No, but for what other reason should it return a pointer to the existing
>> node?
>>
>>   
>Better reporting of the error? (Information about the existing node)
>
>It is also often cheaper to insert, and modify the existing node if
>present rather than query before insert, and then repeat the lookup for
>the insert operation too. It's also more "atomic friendly" than query +
>insert, should the tree be doing its own locking.

And more information is better than less.

christos




Home | Main Index | Thread Index | Old Index