File b776dfa8-add-shutdown-facility-netserver.patch of Package libvirt.22291
commit b776dfa8e881c868dc554c5c245f15c49332ce80
Author: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Date: Thu Jul 23 09:50:25 2020 +0300
rpc: add shutdown facilities to netserver
virNetServerClose and virNetServerShutdownWait are used to start net server
threads shutdown and wait net server threads to actually finish respectively
during net daemon shutdown procedure.
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Index: libvirt-6.0.0/src/rpc/virnetserver.c
===================================================================
--- libvirt-6.0.0.orig/src/rpc/virnetserver.c
+++ libvirt-6.0.0/src/rpc/virnetserver.c
@@ -944,9 +944,17 @@ void virNetServerClose(virNetServerPtr s
for (i = 0; i < srv->nclients; i++)
virNetServerClientClose(srv->clients[i]);
+ virThreadPoolStop(srv->workers);
+
virObjectUnlock(srv);
}
+void
+virNetServerShutdownWait(virNetServerPtr srv)
+{
+ virThreadPoolDrain(srv->workers);
+}
+
static inline size_t
virNetServerTrackPendingAuthLocked(virNetServerPtr srv)
{
Index: libvirt-6.0.0/src/rpc/virnetserver.h
===================================================================
--- libvirt-6.0.0.orig/src/rpc/virnetserver.h
+++ libvirt-6.0.0/src/rpc/virnetserver.h
@@ -56,6 +56,7 @@ virNetServerPtr virNetServerNewPostExecR
ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6);
void virNetServerClose(virNetServerPtr srv);
+void virNetServerShutdownWait(virNetServerPtr srv);
virJSONValuePtr virNetServerPreExecRestart(virNetServerPtr srv);