Diff for /libraries/libldap/result.c between versions 1.107 and 1.108

version 1.107, 2005/07/23 20:04:04 version 1.108, 2005/07/30 14:26:25
Line 1 Line 1
 /* result.c - wait for an ldap result */  /* result.c - wait for an ldap result */
 /* $OpenLDAP: pkg/ldap/libraries/libldap/result.c,v 1.106 2005/07/18 04:22:33 hallvard Exp $ */  /* $OpenLDAP: pkg/ldap/libraries/libldap/result.c,v 1.107 2005/07/23 20:04:04 ando Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 1998-2005 The OpenLDAP Foundation.   * Copyright 1998-2005 The OpenLDAP Foundation.
Line 307  wait4msg( Line 307  wait4msg(
                         }                          }
   
                         if ( !lc_ready ) {                          if ( !lc_ready ) {
                             rc = ldap_int_select( ld, tvp );                                  rc = ldap_int_select( ld, tvp );
 #ifdef LDAP_DEBUG  #ifdef LDAP_DEBUG
                             if ( rc == -1 ) {                                  if ( rc == -1 ) {
                                 Debug( LDAP_DEBUG_TRACE,                                          Debug( LDAP_DEBUG_TRACE,
                                         "ldap_int_select returned -1: errno %d\n",                                                  "ldap_int_select returned -1: errno %d\n",
                                         errno, 0, 0 );                                                  errno, 0, 0 );
                             }                                  }
 #endif  #endif
   
                             if ( rc == 0 || ( rc == -1 && (                                  if ( rc == 0 || ( rc == -1 && (
                                     !LDAP_BOOL_GET(&ld->ld_options, LDAP_BOOL_RESTART)                                          !LDAP_BOOL_GET(&ld->ld_options, LDAP_BOOL_RESTART)
                                     || errno != EINTR )))                                                  || errno != EINTR )))
                             {                                  {
                                     ld->ld_errno = (rc == -1 ? LDAP_SERVER_DOWN :                                          ld->ld_errno = (rc == -1 ? LDAP_SERVER_DOWN :
                                         LDAP_TIMEOUT);                                                  LDAP_TIMEOUT);
                                     return( rc );                                          return( rc );
                             }                                  }
   
                             if ( rc == -1 ) {                                  if ( rc == -1 ) {
                                     rc = -2;    /* select interrupted: loop */                                          rc = -2;        /* select interrupted: loop */
                             } else {                                  } else {
                                     rc = -2;                                          rc = -2;
 #ifdef LDAP_R_COMPILE  #ifdef LDAP_R_COMPILE
                                     ldap_pvt_thread_mutex_lock( &ld->ld_req_mutex );                                          ldap_pvt_thread_mutex_lock( &ld->ld_req_mutex );
 #endif  #endif
                                     if ( ld->ld_requests &&                                          if ( ld->ld_requests &&
                                                 ld->ld_requests->lr_status == LDAP_REQST_WRITING &&                                                  ld->ld_requests->lr_status == LDAP_REQST_WRITING &&
                                                 ldap_is_write_ready( ld,                                                  ldap_is_write_ready( ld,
                                                         ld->ld_requests->lr_conn->lconn_sb ) ) {                                                          ld->ld_requests->lr_conn->lconn_sb ) )
                                           {
                                                 ldap_int_flush_request( ld, ld->ld_requests );                                                  ldap_int_flush_request( ld, ld->ld_requests );
                                         }                                          }
 #ifdef LDAP_R_COMPILE  #ifdef LDAP_R_COMPILE
                                     ldap_pvt_thread_mutex_unlock( &ld->ld_req_mutex );                                          ldap_pvt_thread_mutex_unlock( &ld->ld_req_mutex );
 #endif  #endif
                                     for ( lc = ld->ld_conns; rc == -2 && lc != NULL;                                          for ( lc = ld->ld_conns; rc == -2 && lc != NULL;
                                         lc = nextlc ) {                                                  lc = nextlc )
                                             nextlc = lc->lconn_next;                                          {
                                             if ( lc->lconn_status ==                                                  nextlc = lc->lconn_next;
                                                 LDAP_CONNST_CONNECTED &&                                                  if ( lc->lconn_status == LDAP_CONNST_CONNECTED &&
                                                 ldap_is_read_ready( ld,                                                          ldap_is_read_ready( ld, lc->lconn_sb ))
                                                 lc->lconn_sb )) {                                                  {
                                                     rc = try_read1msg( ld, msgid, all,                                                          rc = try_read1msg( ld, msgid, all,
                                                         lc->lconn_sb, &lc, result );                                                                  lc->lconn_sb, &lc, result );
                                                         if ( lc == NULL ) lc = nextlc;                                                                  if ( lc == NULL ) lc = nextlc;
                                             }                                                  }
                                     }                                          }
                             }                                  }
                     }                          }
                 }                  }
   
                 if ( rc == -2 && tvp != NULL ) {                  if ( rc == -2 && tvp != NULL ) {
Line 504  nextresp2: Line 505  nextresp2:
   
         Debug( LDAP_DEBUG_TRACE,          Debug( LDAP_DEBUG_TRACE,
                 "ldap_read: message type %s msgid %ld, original id %ld\n",                  "ldap_read: message type %s msgid %ld, original id %ld\n",
             ldap_int_msgtype2str( tag ),                  ldap_int_msgtype2str( tag ),
                 (long) lr->lr_msgid, (long) lr->lr_origid );                  (long) lr->lr_msgid, (long) lr->lr_origid );
   
         id = lr->lr_origid;          id = lr->lr_origid;

Removed from v.1.107  
changed lines
  Added in v.1.108


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org