Howard Chu wrote:
> Full_Name: Hallvard B Furuseth
> Version: HEAD
> Submission from: (NULL) (188.8.131.52)
> Submitted by: hallvard
> In HEAD slapd/daemon.c, thanks to HEAD's multiple listener support:
> slap_listener() protects emfile with slap_daemon[0 ].sd_mutex,
> but slapd_remove() protects it with slap_daemon[id].sd_mutex.
> Maybe to compensate, slapd_remove() has code which checks if emfile
> is too big, but nothing checks if it is too small - which looks like
> slapd might never start listening again.
On 2nd thought - I don't see how the outcome you describe can occur. If emfile
is non-zero, the list of listeners will be checked for a listener with
non-zero mute status. If any are found, one is guaranteed to be unmuted. If
none are found, emfile will be zeroed.
In no case will slapd fail to unmute a listener.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/