mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-17 12:24:19 -05:00
undef CONNECTION_INPUT_LOOP, use DATA_READY_LOOP. Seems to help prevent
hangs in heavy load situations.
This commit is contained in:
parent
ee571c54a4
commit
b40e40ec3c
1 changed files with 10 additions and 6 deletions
|
|
@ -1227,17 +1227,21 @@ int connection_read(ber_socket_t s)
|
|||
}
|
||||
#endif
|
||||
|
||||
#define CONNECTION_INPUT_LOOP 1
|
||||
/* #define CONNECTION_INPUT_LOOP 1 */
|
||||
#define DATA_READY_LOOP 1
|
||||
|
||||
#ifdef DATA_READY_LOOP
|
||||
while( !rc && ber_sockbuf_ctrl( c->c_sb, LBER_SB_DATA_READY, NULL ) )
|
||||
#elif CONNECTION_INPUT_LOOP
|
||||
while(!rc)
|
||||
#endif
|
||||
do
|
||||
{
|
||||
/* How do we do this without getting into a busy loop ? */
|
||||
rc = connection_input( c );
|
||||
}
|
||||
#ifdef DATA_READY_LOOP
|
||||
while( !rc && ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_DATA_READY, NULL ) );
|
||||
#elif CONNECTION_INPUT_LOOP
|
||||
while(!rc);
|
||||
#else
|
||||
while(0);
|
||||
#endif
|
||||
|
||||
if( rc < 0 ) {
|
||||
#ifdef NEW_LOGGING
|
||||
|
|
|
|||
Loading…
Reference in a new issue