From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4YDg-00008N-Fy for qemu-devel@nongnu.org; Mon, 05 Mar 2012 08:45:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S4YDa-0004o8-0z for qemu-devel@nongnu.org; Mon, 05 Mar 2012 08:44:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:8823) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4YDZ-0004nm-OL for qemu-devel@nongnu.org; Mon, 05 Mar 2012 08:44:49 -0500 Message-ID: <4F54C34D.2010805@redhat.com> Date: Mon, 05 Mar 2012 21:44:45 +0800 From: Amos Kong MIME-Version: 1.0 References: <20120305095934.3595.88531.stgit@dhcp-8-167.nay.redhat.com> <20120305100329.3595.61472.stgit@dhcp-8-167.nay.redhat.com> <4F54BF4F.2050905@redhat.com> In-Reply-To: <4F54BF4F.2050905@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 2/9] net: use tcp_server_start() for tcp server creation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Orit Wasserman Cc: aliguori@us.ibm.com, kvm@vger.kernel.org, quintela@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org, laine@redhat.com On 05/03/12 21:27, Orit Wasserman wrote: > On 03/05/2012 12:03 PM, Amos Kong wrote: >> Use tcp_server_start in those two functions: >> tcp_start_incoming_migration() >> net_socket_listen_init() >> >> Signed-off-by: Amos Kong >> --- >> migration-tcp.c | 21 +++++---------------- >> net/socket.c | 23 +++-------------------- >> 2 files changed, 8 insertions(+), 36 deletions(-) >> >> diff --git a/migration-tcp.c b/migration-tcp.c >> index 35a5781..ecadd10 100644 >> --- a/migration-tcp.c >> +++ b/migration-tcp.c >> @@ -157,28 +157,17 @@ out2: >> >> int tcp_start_incoming_migration(const char *host_port) >> { >> - struct sockaddr_in addr; >> - int val; >> + int ret; >> int s; >> >> DPRINTF("Attempting to start an incoming migration\n"); >> >> - if (parse_host_port(&addr, host_port)< 0) { >> - fprintf(stderr, "invalid host/port combination: %s\n", host_port); >> - return -EINVAL; >> - } >> - >> - s = qemu_socket(PF_INET, SOCK_STREAM, 0); >> - if (s == -1) { >> - return -socket_error(); >> + ret = tcp_server_start(host_port,&s); >> + if (ret< 0) { >> + fprintf(stderr, "tcp_server_start: %s\n", strerror(-ret)); >> + return ret; >> } >> >> - val = 1; >> - setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char *)&val, sizeof(val)); >> - >> - if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) == -1) { >> - goto err; >> - } >> if (listen(s, 1) == -1) { >> goto err; >> } >> diff --git a/net/socket.c b/net/socket.c >> index 0bcf229..5feb3d2 100644 >> --- a/net/socket.c >> +++ b/net/socket.c >> @@ -403,31 +403,14 @@ static int net_socket_listen_init(VLANState *vlan, >> const char *host_str) >> { >> NetSocketListenState *s; >> - int fd, val, ret; >> - struct sockaddr_in saddr; >> - >> - if (parse_host_port(&saddr, host_str)< 0) >> - return -1; >> + int fd, ret; >> >> s = g_malloc0(sizeof(NetSocketListenState)); >> >> - fd = qemu_socket(PF_INET, SOCK_STREAM, 0); >> - if (fd< 0) { >> - perror("socket"); >> - g_free(s); >> - return -1; >> - } >> - socket_set_nonblock(fd); >> - >> - /* allow fast reuse */ >> - val = 1; >> - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const char *)&val, sizeof(val)); >> - >> - ret = bind(fd, (struct sockaddr *)&saddr, sizeof(saddr)); >> + ret = tcp_server_start(host_str,&fd); >> if (ret< 0) { >> - perror("bind"); >> + error_report("tcp_server_start: %s", strerror(-ret)); > > If the return value is always -1 this has no meaning Hi Orit, "return -1;" is the original code, net_socket_listen_init() is only used once in net_init_socket() if (net_socket_connect_init(vlan, "socket", name, connect) == -1) { return -1; } This patch just replace the server creation code by tcp_server_start(). Amos.