[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: When must slap_callback.sc_writewait be set?
Howard Chu wrote:
>Hallvard Breien Furuseth wrote:
>> When is it safe to leave sc_writewait uninitialized? The field
>> seems to have emerged in the middle of RE24, and I don't see any
>> flags which say it should/should not be used.
>
> Where would such flags reside?
slap_callback.sc_flags. If it existed it could get a "the sc_writewait
field is valid" bit. Then the struct could have been safely extended
without breaking other modules - provided they were recompiled, anyway.
>> Since not setting it crashed back-relay in ITS#8428, does that
>> mean everything which creates a slap_callback should set it?
>
> Yes.
Then most callback code in slapd must be fixed. Now I don't understand
why slapd still works as well as it does...
Instead of sc_flags, maybe we should add a word 'sc_signature' for now:
back-mdb must set it to a particular value which indicates that
sc_writewait is valid, and it must be cleared before freeing the
callback. That way modules which don't know about sc_writewait
_usually_ won't break, though the signature can be right once in a
while.
--
Hallvard