]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
rpc: set listen backlog on FDs as well as on other sockets
authorMartin Kletzander <mkletzan@redhat.com>
Wed, 16 Jul 2014 17:26:16 +0000 (19:26 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Fri, 22 Aug 2014 07:12:13 +0000 (09:12 +0200)
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/locking/lock_daemon.c
src/rpc/virnetserverservice.c
src/rpc/virnetserverservice.h

index e9219d5ec6f19e84c82d9400b5f96f194046b19d..02d77e39a8d73c45a387923d8c6d2e7e3466d2a1 100644 (file)
@@ -614,7 +614,7 @@ virLockDaemonSetupNetworkingSystemD(virNetServerPtr srv)
 #if WITH_GNUTLS
                                          NULL,
 #endif
-                                         false, 1)))
+                                         false, 0, 1)))
         return -1;
 
     if (virNetServerAddService(srv, svc, NULL) < 0) {
index e85889b78f6eb623c1b4dde648ce0608c8973452..fea05c3e4ec3186f93bb67747bcb3551af098fc4 100644 (file)
@@ -133,6 +133,7 @@ virNetServerServiceNewFDOrUNIX(const char *path,
                                         tls,
 #endif
                                         readonly,
+                                        max_queued_clients,
                                         nrequests_client_max);
     }
 }
@@ -265,6 +266,7 @@ virNetServerServicePtr virNetServerServiceNewFD(int fd,
                                                 virNetTLSContextPtr tls,
 #endif
                                                 bool readonly,
+                                                size_t max_queued_clients,
                                                 size_t nrequests_client_max)
 {
     virNetServerServicePtr svc;
@@ -292,6 +294,9 @@ virNetServerServicePtr virNetServerServiceNewFD(int fd,
         goto error;
 
     for (i = 0; i < svc->nsocks; i++) {
+        if (virNetSocketListen(svc->socks[i], max_queued_clients) < 0)
+            goto error;
+
         /* IO callback is initially disabled, until we're ready
          * to deal with incoming clients */
         if (virNetSocketAddIOCallback(svc->socks[i],
index a1c89605aeab1f321c43c82fb096566855030dcc..b1d6c2d3c51954cd795b74f5476fdde6967db0d4 100644 (file)
@@ -74,6 +74,7 @@ virNetServerServicePtr virNetServerServiceNewFD(int fd,
                                                 virNetTLSContextPtr tls,
 # endif
                                                 bool readonly,
+                                                size_t max_queued_clients,
                                                 size_t nrequests_client_max);
 
 virNetServerServicePtr virNetServerServiceNewPostExecRestart(virJSONValuePtr object);