]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
rpc: add shutdown facilities to netserver
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Thu, 23 Jul 2020 06:50:25 +0000 (09:50 +0300)
committerNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Mon, 7 Sep 2020 06:33:59 +0000 (09:33 +0300)
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>
src/rpc/virnetserver.c
src/rpc/virnetserver.h

index e0a23867f62edb68cfd03aef92fb93f2498a5e10..79ea9f68a06e19ca652496a7e284ed17d409ade4 100644 (file)
@@ -942,9 +942,17 @@ void virNetServerClose(virNetServerPtr srv)
     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 1c6a2efb6c6cac9236d7ebda4d8f031642e8cbae..112a51d387860b7968c93001957d09911e42d822 100644 (file)
@@ -56,6 +56,7 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
     ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6);
 
 void virNetServerClose(virNetServerPtr srv);
+void virNetServerShutdownWait(virNetServerPtr srv);
 
 virJSONValuePtr virNetServerPreExecRestart(virNetServerPtr srv);