From b25c74777a175813ebb8bedc51215150d649945e Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 28 Nov 2008 23:45:56 +0000 Subject: [PATCH] Let the idletimeout check kill hung writers --- servers/slapd/connection.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 4c3178e338..98a2432c5f 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -225,8 +225,11 @@ int connections_timeout_idle(time_t now) c = connection_next( c, &connindex ) ) { /* Don't timeout a slow-running request or a persistent - * outbound connection */ - if( c->c_n_ops_executing || c->c_conn_state == SLAP_C_CLIENT ) { + * outbound connection. But if it has a writewaiter, see + * if the waiter has been there too long. + */ + if(( c->c_n_ops_executing && !c->c_writewaiter) + || c->c_conn_state == SLAP_C_CLIENT ) { continue; } -- 2.39.5