]> git.sur5r.net Git - openldap/commitdiff
ITS#3250 don't call select unnecessarily
authorHoward Chu <hyc@openldap.org>
Sat, 24 Jul 2004 03:13:29 +0000 (03:13 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 24 Jul 2004 03:13:29 +0000 (03:13 +0000)
libraries/libldap/result.c

index dbf75ee1409054ac813619cb78f4f097a0110f33..03356c5cef0ce9ae3ed05faa2f497967e1202c96 100644 (file)
@@ -314,6 +314,7 @@ wait4msg(
         if( (*result = chkResponseList(ld, msgid, all)) != NULL ) {
             rc = (*result)->lm_msgtype;
         } else {
+                       int lc_ready = 0;
 
                        for ( lc = ld->ld_conns; lc != NULL; lc = nextlc ) {
                                nextlc = lc->lconn_next;
@@ -321,11 +322,12 @@ wait4msg(
                                                LBER_SB_OPT_DATA_READY, NULL ) ) {
                                        rc = try_read1msg( ld, msgid, all, lc->lconn_sb,
                                                &lc, result );
+                                       lc_ready = 1;
                                    break;
                                }
                }
 
-                   if ( lc == NULL ) {
+                   if ( !lc_ready ) {
                            rc = ldap_int_select( ld, tvp );
 #ifdef LDAP_DEBUG
                            if ( rc == -1 ) {