Diff for /libraries/libldap/result.c between versions 1.79 and 1.81

version 1.79, 2003/02/13 09:43:16 version 1.81, 2003/02/14 09:27:39
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/libraries/libldap/result.c,v 1.78 2003/02/09 06:42:25 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/libraries/libldap/result.c,v 1.80 2003/02/13 22:02:31 hyc Exp $ */
 /*  /*
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 97  ldap_result( Line 97  ldap_result(
         LDAPMessage **result )          LDAPMessage **result )
 {  {
         LDAPMessage     *lm;          LDAPMessage     *lm;
           int     rc;
   
         assert( ld != NULL );          assert( ld != NULL );
         assert( result != NULL );          assert( result != NULL );
Line 107  ldap_result( Line 108  ldap_result(
         Debug( LDAP_DEBUG_TRACE, "ldap_result msgid %d\n", msgid, 0, 0 );          Debug( LDAP_DEBUG_TRACE, "ldap_result msgid %d\n", msgid, 0, 0 );
 #endif  #endif
   
     lm = chkResponseList(ld, msgid, all);  #ifdef LDAP_R_COMPILE
           ldap_pvt_thread_mutex_lock( &ld->ld_res_mutex );
   #endif
           lm = chkResponseList(ld, msgid, all);
   
         if ( lm == NULL ) {          if ( lm == NULL ) {
                 return( wait4msg( ld, msgid, all, timeout, result ) );                  rc = wait4msg( ld, msgid, all, timeout, result );
           } else {
                   *result = lm;
                   ld->ld_errno = LDAP_SUCCESS;
                   rc = lm->lm_msgtype;
         }          }
   #ifdef LDAP_R_COMPILE
         *result = lm;          ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );
         ld->ld_errno = LDAP_SUCCESS;  #endif
         return( lm->lm_msgtype );          return( rc );
 }  }
   
 static LDAPMessage *  static LDAPMessage *
Line 141  chkResponseList( Line 149  chkResponseList(
             msgid, all, 0 );              msgid, all, 0 );
 #endif  #endif
         lastlm = NULL;          lastlm = NULL;
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_lock( &ld->ld_res_mutex );  
 #endif  
         for ( lm = ld->ld_responses; lm != NULL; lm = nextlm ) {          for ( lm = ld->ld_responses; lm != NULL; lm = nextlm ) {
                 nextlm = lm->lm_next;                  nextlm = lm->lm_next;
   
Line 210  chkResponseList( Line 215  chkResponseList(
             }              }
             lm->lm_next = NULL;              lm->lm_next = NULL;
     }      }
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );  
 #endif  
   
 #ifdef LDAP_DEBUG  #ifdef LDAP_DEBUG
         if( lm == NULL) {          if( lm == NULL) {
Line 314  wait4msg( Line 316  wait4msg(
                 }                  }
   
                     if ( lc == NULL ) {                      if ( lc == NULL ) {
 #ifdef LDAP_R_COMPILE  
                             ldap_pvt_thread_mutex_lock( &ld->ld_res_mutex );  
 #endif  
                             rc = ldap_int_select( ld, tvp );                              rc = ldap_int_select( ld, tvp );
 #ifdef LDAP_R_COMPILE  
                             ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );  
 #endif  
   
   
 #ifdef LDAP_DEBUG  #ifdef LDAP_DEBUG
                             if ( rc == -1 ) {                              if ( rc == -1 ) {
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
Line 435  try_read1msg( Line 429  try_read1msg(
 #endif  #endif
   
 retry:  retry:
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_lock( &ld->ld_res_mutex );  
 #endif  
         if ( lc->lconn_ber == NULL ) {          if ( lc->lconn_ber == NULL ) {
                 lc->lconn_ber = ldap_alloc_ber_with_options(ld);                  lc->lconn_ber = ldap_alloc_ber_with_options(ld);
   
                 if( lc->lconn_ber == NULL ) {                  if( lc->lconn_ber == NULL ) {
 #ifdef LDAP_R_COMPILE  
                         ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );  
 #endif  
                         return -1;                          return -1;
                 }                  }
         }          }
Line 468  retry: Line 456  retry:
                  */                   */
                 lc->lconn_ber = NULL;                  lc->lconn_ber = NULL;
         }          }
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );  
 #endif  
         if ( tag != LDAP_TAG_MESSAGE ) {          if ( tag != LDAP_TAG_MESSAGE ) {
                 if ( tag == LBER_DEFAULT) {                  if ( tag == LBER_DEFAULT) {
 #ifdef LDAP_DEBUG                    #ifdef LDAP_DEBUG                  
Line 857  lr->lr_res_matched ? lr->lr_res_matched Line 842  lr->lr_res_matched ? lr->lr_res_matched
          * search response.           * search response.
          */           */
   
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_lock( &ld->ld_res_mutex );  
 #endif  
         prev = NULL;          prev = NULL;
         for ( l = ld->ld_responses; l != NULL; l = l->lm_next ) {          for ( l = ld->ld_responses; l != NULL; l = l->lm_next ) {
                 if ( l->lm_msgid == new->lm_msgid )                  if ( l->lm_msgid == new->lm_msgid )
Line 907  lr->lr_res_matched ? lr->lr_res_matched Line 889  lr->lr_res_matched ? lr->lr_res_matched
         }          }
   
 leave:  leave:
 #ifdef LDAP_R_COMPILE  
         ldap_pvt_thread_mutex_unlock( &ld->ld_res_mutex );  
 #endif  
         if ( foundit ) {          if ( foundit ) {
                 ld->ld_errno = LDAP_SUCCESS;                  ld->ld_errno = LDAP_SUCCESS;
                 return( tag );                  return( tag );

Removed from v.1.79  
changed lines
  Added in v.1.81


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