From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O9ZeZ-0006bu-LA for qemu-devel@nongnu.org; Wed, 05 May 2010 04:08:23 -0400 Received: from [140.186.70.92] (port=56215 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O9ZeW-0006at-SY for qemu-devel@nongnu.org; Wed, 05 May 2010 04:08:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O9ZeU-0007oF-2w for qemu-devel@nongnu.org; Wed, 05 May 2010 04:08:20 -0400 Received: from fmmailgate02.web.de ([217.72.192.227]:48533) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O9ZeT-0007o1-Nb for qemu-devel@nongnu.org; Wed, 05 May 2010 04:08:18 -0400 Message-ID: <4BE12763.8000809@web.de> Date: Wed, 05 May 2010 10:08:03 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1271782566-16420-1-git-send-email-agraf@suse.de> <4BE024A9.2040904@codemonkey.ws> <16E7906F-F39B-4121-B540-E2F0E67D405E@suse.de> <4BE0307C.1010305@codemonkey.ws> <0D8C0E80-5325-4E50-A2EF-E73BB95AD8DA@suse.de> <4BE04A78.6070505@codemonkey.ws> <4BE05034.9060803@siemens.com> <4BE11F54.1030900@web.de> In-Reply-To: <4BE11F54.1030900@web.de> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigD4791DC402112E18AB7587DA" Sender: jan.kiszka@web.de Subject: [Qemu-devel] Re: [PATCH] [RESEND] Make char muxer more robust wrt small FIFOs List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , Alexander Graf Cc: Bastian Blank , qemu-devel Developers , Aurelien Jarno This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigD4791DC402112E18AB7587DA Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Jan Kiszka wrote: > Alex, does this help as well? >=20 > diff --git a/qemu-char.c b/qemu-char.c > index ac65a1c..2b115a4 100644 > --- a/qemu-char.c > +++ b/qemu-char.c > @@ -404,6 +404,8 @@ static int mux_chr_can_read(void *opaque) > MuxDriver *d =3D chr->opaque; > int m =3D d->focus; > =20 > + mux_chr_accept_input(opaque); > + > if ((d->prod[m] - d->cons[m]) < MUX_BUFFER_SIZE) > return 1; > if (d->chr_can_read[m]) > @@ -418,8 +420,6 @@ static void mux_chr_read(void *opaque, const uint8_= t *buf, int size) > int m =3D d->focus; > int i; > =20 > - mux_chr_accept_input (opaque); > - > for(i =3D 0; i < size; i++) > if (mux_proc_byte(chr, d, buf[i])) { > if (d->prod[m] =3D=3D d->cons[m] && >=20 >=20 > I'm trying to reproduce in parallel. Works for me. Will post as proper patch later. Jan --------------enigD4791DC402112E18AB7587DA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkvhJ28ACgkQitSsb3rl5xTRCgCdFVHWFvcFe1f6sgcZ8NuNBJqO PVcAn0kERMvogq3KEBWseXYkRaE6+glx =l/r6 -----END PGP SIGNATURE----- --------------enigD4791DC402112E18AB7587DA--