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);
 
openSUSE Build Service is sponsored by