[Date Prev][Date Next]
(ITS#4917) at_insert() moves sat_ad_mutex
Full_Name: Hallvard B Furuseth
Submission from: (NULL) (22.214.171.124)
Submitted by: hallvard
slapd/at.c:at_insert() swaps the contents of the initialized
mutexes 'old_sat->sat_ad_mutex' and 'sat->sat_ad_mutex' in the
/* replacing a deleted definition? */ code.
I hope they are at least unlocked at the time...
Does ldap_pvt_thread_pool_pause() in config_back_add() & co block
the other threads?
If so, the simplest clean fix may be to destroy and reinitialize
the mutexes (instead of swapping them back), I think strictly
speaking behaviour is undefined if one copies mutexes around at
all. Or since one will immediately be destroyed, maybe they should
be destroyed when SLAP_AT_DELETED is set, if it is not needed then.