]> git.sur5r.net Git - openldap/commitdiff
re-fix ITS#4405 (really start from the first conn)
authorPierangelo Masarati <ando@openldap.org>
Fri, 18 Aug 2006 17:12:16 +0000 (17:12 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 18 Aug 2006 17:12:16 +0000 (17:12 +0000)
libraries/libldap/result.c

index 9045dd32fd09d53b9ce2c05f5dd5b5d0dead8678..1226e19316c33988643e261797a95801dd2d296d 100644 (file)
@@ -354,8 +354,7 @@ wait4msg(
                                        ldap_pvt_thread_mutex_lock( &ld->ld_conn_mutex );
 #endif
                                        for ( lc = ld->ld_conns;
-                                               rc == LDAP_MSG_X_KEEP_LOOKING && lc != NULL;
-                                               lc = lc->lconn_next )
+                                               rc == LDAP_MSG_X_KEEP_LOOKING && lc != NULL; )
                                        {
                                                if ( lc->lconn_status == LDAP_CONNST_CONNECTED &&
                                                        ldap_is_read_ready( ld, lc->lconn_sb ) )
@@ -374,8 +373,14 @@ wait4msg(
                                                                 * sane; better restart
                                                                 * (ITS#4405) */
                                                                lc = ld->ld_conns;
+
+                                                               /* don't get to next conn! */
+                                                               break;
                                                        }
                                                }
+
+                                               /* next conn */
+                                               lc = lc->lconn_next;
                                        }
 #ifdef LDAP_R_COMPILE
                                        ldap_pvt_thread_mutex_unlock( &ld->ld_conn_mutex );