]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Add backlog parameter to virNetSocketListen
authorJiri Denemark <jdenemar@redhat.com>
Fri, 12 Aug 2011 09:07:51 +0000 (11:07 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 15 Aug 2011 13:21:31 +0000 (15:21 +0200)
So that callers can change the default value.

src/rpc/virnetserverservice.c
src/rpc/virnetsocket.c
src/rpc/virnetsocket.h
tests/virnetsockettest.c

index 8c9ed1eb55f30dc92736a10fe252e91e427c2ec3..e63603f288fbb609ebd1d9af09e89d24bf82165c 100644 (file)
@@ -127,7 +127,7 @@ virNetServerServicePtr virNetServerServiceNewTCP(const char *nodename,
         goto error;
 
     for (i = 0 ; i < svc->nsocks ; i++) {
-        if (virNetSocketListen(svc->socks[i]) < 0)
+        if (virNetSocketListen(svc->socks[i], 0) < 0)
             goto error;
 
         /* IO callback is initially disabled, until we're ready
@@ -187,7 +187,7 @@ virNetServerServicePtr virNetServerServiceNewUNIX(const char *path,
         goto error;
 
     for (i = 0 ; i < svc->nsocks ; i++) {
-        if (virNetSocketListen(svc->socks[i]) < 0)
+        if (virNetSocketListen(svc->socks[i], 0) < 0)
             goto error;
 
         /* IO callback is initially disabled, until we're ready
index 73ff5eef11a9114738beff54f6202e12e05aac0b..d040aed212adcdad771679760daac1fcfa6bbc5b 100644 (file)
@@ -1076,10 +1076,10 @@ ssize_t virNetSocketWrite(virNetSocketPtr sock, const char *buf, size_t len)
 }
 
 
-int virNetSocketListen(virNetSocketPtr sock)
+int virNetSocketListen(virNetSocketPtr sock, int backlog)
 {
     virMutexLock(&sock->lock);
-    if (listen(sock->fd, 30) < 0) {
+    if (listen(sock->fd, backlog > 0 ? backlog : 30) < 0) {
         virReportSystemError(errno, "%s", _("Unable to listen on socket"));
         virMutexUnlock(&sock->lock);
         return -1;
index d6c85d28d7a32fb16e23031e01f6eadc19e2a821..24110a6d4742fb97c51961e9b704037b5e0464b6 100644 (file)
@@ -105,7 +105,7 @@ void virNetSocketFree(virNetSocketPtr sock);
 const char *virNetSocketLocalAddrString(virNetSocketPtr sock);
 const char *virNetSocketRemoteAddrString(virNetSocketPtr sock);
 
-int virNetSocketListen(virNetSocketPtr sock);
+int virNetSocketListen(virNetSocketPtr sock, int backlog);
 int virNetSocketAccept(virNetSocketPtr sock,
                        virNetSocketPtr *clientsock);
 
index e72b9a01ba6486a2454055afd3b92e48525a904c..fba7e15be711571ab08e1c43732a43c454a83c74 100644 (file)
@@ -159,7 +159,7 @@ static int testSocketTCPAccept(const void *opaque)
         goto cleanup;
 
     for (i = 0 ; i < nlsock ; i++) {
-        if (virNetSocketListen(lsock[i]) < 0)
+        if (virNetSocketListen(lsock[i], 0) < 0)
             goto cleanup;
     }
 
@@ -217,7 +217,7 @@ static int testSocketUNIXAccept(const void *data ATTRIBUTE_UNUSED)
     if (virNetSocketNewListenUNIX(path, 0700, getgid(), &lsock) < 0)
         goto cleanup;
 
-    if (virNetSocketListen(lsock) < 0)
+    if (virNetSocketListen(lsock, 0) < 0)
         goto cleanup;
 
     if (virNetSocketNewConnectUNIX(path, false, NULL, &csock) < 0)
@@ -276,7 +276,7 @@ static int testSocketUNIXAddrs(const void *data ATTRIBUTE_UNUSED)
         goto cleanup;
     }
 
-    if (virNetSocketListen(lsock) < 0)
+    if (virNetSocketListen(lsock, 0) < 0)
         goto cleanup;
 
     if (virNetSocketNewConnectUNIX(path, false, NULL, &csock) < 0)