]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Do not clear c_pendingber on short write
authorOndřej Kuzník <ondra@mistotebe.net>
Fri, 21 Apr 2017 10:09:14 +0000 (11:09 +0100)
committerOndřej Kuzník <okuznik@symas.com>
Tue, 17 Nov 2020 17:55:46 +0000 (17:55 +0000)
servers/lloadd/client.c
servers/lloadd/upstream.c

index 6838508707c8b4167d774240fb798b96da994ea1..4775dbb38cf1b6bb0379fdbaf5e686cb2fad50a4 100644 (file)
@@ -152,8 +152,9 @@ client_write_cb( evutil_socket_t s, short what, void *arg )
             return;
         }
         event_add( c->c_write_event, NULL );
+    } else {
+        c->c_pendingber = NULL;
     }
-    c->c_pendingber = NULL;
     ldap_pvt_thread_mutex_unlock( &c->c_io_mutex );
 
     CONNECTION_LOCK_DECREF(c);
index 2f898545dc9720940f3304b5d2473810ab550343..680a677d9c7b65b183081bd853e68bf75c558944 100644 (file)
@@ -666,8 +666,9 @@ upstream_write_cb( evutil_socket_t s, short what, void *arg )
             return;
         }
         event_add( c->c_write_event, NULL );
+    } else {
+        c->c_pendingber = NULL;
     }
-    c->c_pendingber = NULL;
     ldap_pvt_thread_mutex_unlock( &c->c_io_mutex );
 
     CONNECTION_LOCK_DECREF(c);