Fix LDAP XPCOM SDK race condition which could cause LDAP entries to get dropped, or binds to fail entirely (bug 131447). The old code asked ldap_result() for all new messages received, including ones for operations that it did not yet know how to handle. That code has been changed to enumerate the pending operations, and ask for results of each of the pending operations that it knows about, and no others. r=sspitzer@netscape.com, dmose@netscape.com; sr=bienvenu@netscape.com; a=asa@mozilla.org

This commit is contained in:
dmose%netscape.com 2005-11-15 20:08:55 +00:00
Родитель 3f4de0c31e
Коммит a242a7e107
1 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -46,8 +46,14 @@
static PRLogModuleInfo *sLDAPAutoCompleteLogModule = 0; static PRLogModuleInfo *sLDAPAutoCompleteLogModule = 0;
#endif #endif
NS_IMPL_ISUPPORTS3(nsLDAPAutoCompleteSession, nsIAutoCompleteSession,
nsILDAPMessageListener, nsILDAPAutoCompleteSession) // Because this object gets called via proxies, we need to use a THREADSAFE
// ISUPPORTS; if bug 101252 gets fixed, we can go back to the non-threadsafe
// version.
//
NS_IMPL_THREADSAFE_ISUPPORTS3(nsLDAPAutoCompleteSession,
nsIAutoCompleteSession, nsILDAPMessageListener,
nsILDAPAutoCompleteSession)
nsLDAPAutoCompleteSession::nsLDAPAutoCompleteSession() : nsLDAPAutoCompleteSession::nsLDAPAutoCompleteSession() :
mState(UNBOUND), mState(UNBOUND),