From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adhuz-000069-PF for qemu-devel@nongnu.org; Wed, 09 Mar 2016 12:29:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adhuy-000617-Qb for qemu-devel@nongnu.org; Wed, 09 Mar 2016 12:29:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:53755) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adhuy-000611-JK for qemu-devel@nongnu.org; Wed, 09 Mar 2016 12:29:04 -0500 From: "Daniel P. Berrange" Date: Wed, 9 Mar 2016 17:28:17 +0000 Message-Id: <1457544504-8548-15-git-send-email-berrange@redhat.com> In-Reply-To: <1457544504-8548-1-git-send-email-berrange@redhat.com> References: <1457544504-8548-1-git-send-email-berrange@redhat.com> Subject: [Qemu-devel] [PATCH v1 14/21] char: remove qemu_chr_finish_socket_connection method List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Andrew Baumann , Stefan Weil The qemu_chr_finish_socket_connection method is multiplexing two different actions into one method. Each caller of it though, only wants one specific action. The code is shorter & clearer if we thus remove the method and just inline the specific actions where needed. Signed-off-by: Daniel P. Berrange --- qemu-char.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index 18890f7..917750b 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -3091,20 +3091,6 @@ static void tcp_chr_close(CharDriverState *chr) qemu_chr_be_event(chr, CHR_EVENT_CLOSED); } -static void qemu_chr_finish_socket_connection(CharDriverState *chr, - QIOChannelSocket *sioc) -{ - TCPCharDriver *s = chr->opaque; - - if (s->is_listen) { - s->listen_ioc = sioc; - s->listen_tag = qio_channel_add_watch( - QIO_CHANNEL(s->listen_ioc), G_IO_IN, tcp_chr_accept, chr, NULL); - } else { - tcp_chr_new_client(chr, sioc); - object_unref(OBJECT(sioc)); - } -} static void qemu_chr_socket_connected(Object *src, Error *err, void *opaque) { @@ -3119,7 +3105,8 @@ static void qemu_chr_socket_connected(Object *src, Error *err, void *opaque) } s->connect_err_reported = false; - qemu_chr_finish_socket_connection(chr, sioc); + tcp_chr_new_client(chr, sioc); + object_unref(OBJECT(sioc)); } static bool qemu_chr_open_socket_fd(CharDriverState *chr, Error **errp) @@ -3131,7 +3118,9 @@ static bool qemu_chr_open_socket_fd(CharDriverState *chr, Error **errp) if (qio_channel_socket_listen_sync(sioc, s->addr, errp) < 0) { goto fail; } - qemu_chr_finish_socket_connection(chr, sioc); + s->listen_ioc = sioc; + s->listen_tag = qio_channel_add_watch( + QIO_CHANNEL(s->listen_ioc), G_IO_IN, tcp_chr_accept, chr, NULL); } else if (s->reconnect_time) { qio_channel_socket_connect_async(sioc, s->addr, qemu_chr_socket_connected, @@ -3140,7 +3129,8 @@ static bool qemu_chr_open_socket_fd(CharDriverState *chr, Error **errp) if (qio_channel_socket_connect_sync(sioc, s->addr, errp) < 0) { goto fail; } - qemu_chr_finish_socket_connection(chr, sioc); + tcp_chr_new_client(chr, sioc); + object_unref(OBJECT(sioc)); } return true; -- 2.5.0