[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: ldap_pvt_thread_cond_broadcast not functioning (ITS#1875)



This bug was already reported in ITS#1865 and has been fixed in 2.0.24.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support

> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
> btstout@earthlink.net
> Sent: Monday, June 10, 2002 9:55 AM
> To: openldap-its@OpenLDAP.org
> Subject: ldap_pvt_thread_cond_broadcast not functioning (ITS#1875)
>
>
> Full_Name: Todd Stout
> Version: 2.18 - Current
> OS: Win NT/2000
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (204.62.9.73)
>
>
> The ldap_pvt_thread_cond_broadcast() implementation seems broken for win32
> systems.  Specifically, only a single thread is awakened when there are
> multiple
> threads waiting on the condition variable.  This does not seem to
> present a
> problem for slapd since it does not rely on broadcast (it only
> uses signal).
> This presents a problem for slurpd however, since there is a
> thread for each
> replication entry in slapd.conf.  Under win32, when there are multiple
> replicants,
> only one recieves an update since not all replicant threads in
> slurpd become
> active
> when broadcast is executed by the fm thread.  If have been able
> to work around
> the
> problem by changing slurpd to include a condition variable per
> replicant thread
>
> and faking the broadcast by signaling each condition variable.
> However, it would be cleaner to correct the cond_broadcast
> implementation to
> avoid win32 specific code in slurpd.