mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-31 19:09:42 -05:00
ITS#9338 Make sure connection gets rescheduled after write blockage clears up
This commit is contained in:
parent
0b20b92ec1
commit
95c5a1698b
1 changed files with 5 additions and 1 deletions
|
|
@ -409,7 +409,6 @@ fail:
|
|||
ldap_pvt_thread_pool_idle( &connection_pool );
|
||||
slap_writewait_play( op );
|
||||
err = slapd_wait_writer( conn->c_sd );
|
||||
conn->c_writewaiter = 0;
|
||||
ldap_pvt_thread_pool_unidle( &connection_pool );
|
||||
ldap_pvt_thread_mutex_lock( &conn->c_write1_mutex );
|
||||
/* 0 is timeout, so we close it.
|
||||
|
|
@ -420,9 +419,14 @@ fail:
|
|||
close_reason = "writetimeout";
|
||||
else
|
||||
close_reason = "connection lost on writewait";
|
||||
conn->c_writewaiter = 0;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* Resched connection if there are pending ops */
|
||||
connection_write( conn->c_sd );
|
||||
conn->c_writewaiter = 0;
|
||||
|
||||
if ( conn->c_writers < 0 ) {
|
||||
ret = 0;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue