From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47875) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8C4i-0001p3-N6 for qemu-devel@nongnu.org; Thu, 15 Mar 2012 10:54:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S8C4Z-0007nl-Tj for qemu-devel@nongnu.org; Thu, 15 Mar 2012 10:54:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44097) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8C4Z-0007nb-LB for qemu-devel@nongnu.org; Thu, 15 Mar 2012 10:54:35 -0400 Message-ID: <4F62037D.4020406@redhat.com> Date: Thu, 15 Mar 2012 15:58:05 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <1331818666-31718-1-git-send-email-aliguori@us.ibm.com> <1331818666-31718-4-git-send-email-aliguori@us.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/9] qtest: add C version of test infrastructure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Paolo Bonzini , Anthony Liguori , qemu-devel@nongnu.org Am 15.03.2012 15:42, schrieb Stefan Hajnoczi: > On Thu, Mar 15, 2012 at 1:37 PM, Anthony Liguori wrote: >> + sock = socket(PF_UNIX, SOCK_STREAM, 0); >> + g_assert_no_errno(sock); >> + >> + addr.sun_family = AF_UNIX; >> + snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", socket_path); >> + >> + pid = fork(); >> + if (pid == 0) { >> + command = g_strdup_printf("%s " >> + "-qtest unix:%s,server,nowait " >> + "-qtest-log /dev/null " >> + "-pidfile %s " >> + "-machine accel=qtest " >> + "%s", qemu_binary, socket_path, >> + pid_file, >> + extra_args ?: ""); >> + >> + ret = system(command); >> + exit(ret); >> + g_free(command); >> + } >> + >> + do { >> + sleep(1); >> + ret = connect(sock, (struct sockaddr *)&addr, sizeof(addr)); >> + } while (ret == -1); > > I believe Kevin suggested using -qtest unix:%s and creating the listen > socket in the test program rather than inside QEMU. The advantage is > that we never sleep(3), instead we accept(2) the connection from QEMU > and get going right away. > > This can be added as a patch later. > > Kevin: Do you already have a patch or does someone need to write it? I just complained (and reduced the delay locally). Paolo suggested a real solution, which may have been what you describe, I don't remember the details. Kevin