mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
get data if ready
This commit is contained in:
parent
99133f7944
commit
0fffad53c3
@ -1164,14 +1164,13 @@ int connection_read(ber_socket_t s)
|
||||
* to propagate to client. */
|
||||
FD_ZERO(&rfd);
|
||||
FD_SET(s, &rfd);
|
||||
for (rc=1; rc>0;)
|
||||
{
|
||||
for (rc=1; rc>0;) {
|
||||
tv.tv_sec = 1;
|
||||
tv.tv_usec = 0;
|
||||
rc = select(s+1, &rfd, NULL, NULL, &tv);
|
||||
if (rc == 1)
|
||||
ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DRAIN,
|
||||
NULL);
|
||||
if (rc == 1) {
|
||||
ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DRAIN, NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
connection_close( c );
|
||||
@ -1206,9 +1205,15 @@ int connection_read(ber_socket_t s)
|
||||
slap_sasl_external( c, c->c_tls_ssf, authid.bv_val );
|
||||
if ( authid.bv_val ) free( authid.bv_val );
|
||||
}
|
||||
connection_return( c );
|
||||
ldap_pvt_thread_mutex_unlock( &connections_mutex );
|
||||
return 0;
|
||||
|
||||
/* if success and data is ready, fall thru to data input loop */
|
||||
if( rc != 0 ||
|
||||
!ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DATA_READY, NULL ) )
|
||||
{
|
||||
connection_return( c );
|
||||
ldap_pvt_thread_mutex_unlock( &connections_mutex );
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user