From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16367 invoked by alias); 17 Jul 2012 07:51:59 -0000 Received: (qmail 16358 invoked by uid 22791); 17 Jul 2012 07:51:58 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,MSGID_MULTIPLE_AT,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_NO X-Spam-Check-By: sourceware.org Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 17 Jul 2012 07:51:44 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Tue, 17 Jul 2012 08:51:39 +0100 Received: from shawin053 ([10.164.2.89]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.0); Tue, 17 Jul 2012 08:52:49 +0100 From: "Terry Guo" To: "'Sergio Durigan Junior'" Cc: "Eli Zaretskii" , References: <000001cd5338$ded61b20$9c825160$%guo@arm.com> <83hatw8zn1.fsf@gnu.org> <000301cd59bd$ce1c8900$6a559b00$%guo@arm.com> <000101cd5f22$2371cdc0$6a556940$%guo@arm.com> <83k3yab0x6.fsf@gnu.org> <000301cd5fcf$838d31b0$8aa79510$%guo@arm.com> <83ehohblor.fsf@gnu.org> <000001cd6317$2d714cd0$8853e670$@guo@arm.com> In-Reply-To: Subject: RE: [PATCH]Fix that GDB will get hang on Windows when using pipe to get stdout and stderr from stub Date: Tue, 17 Jul 2012 07:51:00 -0000 Message-ID: <000a01cd63f1$29bf6650$7d3e32f0$@guo@arm.com> MIME-Version: 1.0 X-MC-Unique: 112071708513900201 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000B_01CD6434.37E2A650" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-07/txt/msg00231.txt.bz2 This is a multi-part message in MIME format. ------=_NextPart_000_000B_01CD6434.37E2A650 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-length: 1150 >=20 > > diff --git a/gdb/ser-base.c b/gdb/ser-base.c > > index 2f12dfc..152b1aa 100644 > > --- a/gdb/ser-base.c > > +++ b/gdb/ser-base.c > > @@ -25,6 +25,7 @@ > > > > #include "gdb_select.h" > > #include "gdb_string.h" > > +#include "gdb_assert.h" > > #include > > #ifdef USE_WIN32API > > #include > > @@ -242,6 +243,64 @@ ser_base_wait_for (struct serial *scb, int > timeout) > > } > > } > > > > +/* Read any error output we might have. */ > > + > > +static void > > +ser_base_read_error_fd (struct serial *scb, int close_fd) > > +{ > > + if (scb->error_fd !=3D -1) > > + { > > + ssize_t s; > > + char buf[GDB_MI_MSG_WIDTH + 1]; > > + > > + for (;;) > > + { > > + char *current; >=20 > I notice you are not following the convention of converting 8 spaces to > a TAB character here and everywhere else. Can you please fix it? > After > that, I can commit the patch for (if you don't have the permission yet). >=20 Hello Sergio, Can you help to review the attached patch which should convert 8 spaces to a TAB? Thanks. BTW. I think I have write permission now. BR, Terry= ------=_NextPart_000_000B_01CD6434.37E2A650 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name="gdb-hang-v2.patch" Content-Disposition: attachment; filename="gdb-hang-v2.patch" Content-length: 5905 ZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9nZGIvZGVmcy5oDQppbmRleCAx YzZmYTc5Li5iZDU1NmIwIDEwMDY0NA0KLS0tIGEvZ2RiL2RlZnMuaA0KKysr IGIvZ2RiL2RlZnMuaA0KQEAgLTExMTUsNiArMTExNSw5IEBAIGV4dGVybiBp bnQgdXNlX3dpbmRvd3M7DQogI2RlZmluZSBJU0FUVFkoRlApCShpc2F0dHkg KGZpbGVubyAoRlApKSkNCiAjZW5kaWYNCiANCisvKiBBIHdpZHRoIHRoYXQg Y2FuIGFjaGlldmUgYSBiZXR0ZXIgbGVnaWJpbGl0eSBmb3IgR0RCIE1JIG1v ZGUuICAqLw0KKyNkZWZpbmUgR0RCX01JX01TR19XSURUSCAgODANCisNCiAv KiBFbnN1cmUgdGhhdCBWIGlzIGFsaWduZWQgdG8gYW4gTiBieXRlIGJvdW5k YXJ5IChCJ3MgYXNzdW1lZCB0byBiZSBhDQogICAgcG93ZXIgb2YgMikuICBS b3VuZCB1cC9kb3duIHdoZW4gbmVjZXNzYXJ5LiAgRXhhbXBsZXMgb2YgY29y cmVjdA0KICAgIHVzZSBpbmNsdWRlOg0KZGlmZiAtLWdpdCBhL2dkYi9zZXIt YmFzZS5jIGIvZ2RiL3Nlci1iYXNlLmMNCmluZGV4IDJmMTJkZmMuLjI4N2U1 NWQgMTAwNjQ0DQotLS0gYS9nZGIvc2VyLWJhc2UuYw0KKysrIGIvZ2RiL3Nl ci1iYXNlLmMNCkBAIC0yNSw2ICsyNSw3IEBADQogDQogI2luY2x1ZGUgImdk Yl9zZWxlY3QuaCINCiAjaW5jbHVkZSAiZ2RiX3N0cmluZy5oIg0KKyNpbmNs dWRlICJnZGJfYXNzZXJ0LmgiDQogI2luY2x1ZGUgPHN5cy90aW1lLmg+DQog I2lmZGVmIFVTRV9XSU4zMkFQSQ0KICNpbmNsdWRlIDx3aW5zb2NrMi5oPg0K QEAgLTI0Miw2ICsyNDMsNjQgQEAgc2VyX2Jhc2Vfd2FpdF9mb3IgKHN0cnVj dCBzZXJpYWwgKnNjYiwgaW50IHRpbWVvdXQpDQogICAgIH0NCiB9DQogDQor LyogUmVhZCBhbnkgZXJyb3Igb3V0cHV0IHdlIG1pZ2h0IGhhdmUuICAqLw0K Kw0KK3N0YXRpYyB2b2lkDQorc2VyX2Jhc2VfcmVhZF9lcnJvcl9mZCAoc3Ry dWN0IHNlcmlhbCAqc2NiLCBpbnQgY2xvc2VfZmQpDQorew0KKyAgaWYgKHNj Yi0+ZXJyb3JfZmQgIT0gLTEpDQorICAgIHsNCisgICAgICBzc2l6ZV90IHM7 DQorICAgICAgY2hhciBidWZbR0RCX01JX01TR19XSURUSCArIDFdOw0KKw0K KyAgICAgIGZvciAoOzspDQorCXsNCisJICBjaGFyICpjdXJyZW50Ow0KKwkg IGNoYXIgKm5ld2xpbmU7DQorCSAgaW50IHRvX3JlYWQgPSBHREJfTUlfTVNH X1dJRFRIOw0KKwkgIGludCBudW1fYnl0ZXMgPSAtMTsNCisNCisJICBpZiAo c2NiLT5vcHMtPmF2YWlsKQ0KKwkgICAgbnVtX2J5dGVzID0gKHNjYi0+b3Bz LT5hdmFpbCkoc2NiLCBzY2ItPmVycm9yX2ZkKTsNCisNCisJICBpZiAobnVt X2J5dGVzICE9IC0xKQ0KKwkgICAgdG9fcmVhZCA9IChudW1fYnl0ZXMgPCB0 b19yZWFkKSA/IG51bV9ieXRlcyA6IHRvX3JlYWQ7DQorDQorCSAgaWYgKHRv X3JlYWQgPT0gMCkNCisJICAgIGJyZWFrOw0KKw0KKwkgIHMgPSByZWFkIChz Y2ItPmVycm9yX2ZkLCAmYnVmLCB0b19yZWFkKTsNCisJICBpZiAoKHMgPT0g LTEpIHx8IChzID09IDAgJiYgIWNsb3NlX2ZkKSkNCisJICAgIGJyZWFrOw0K Kw0KKwkgIGlmIChzID09IDAgJiYgY2xvc2VfZmQpDQorCSAgICB7DQorCSAg ICAgIC8qIEVuZCBvZiBmaWxlLiAgKi8NCisJICAgICAgY2xvc2UgKHNjYi0+ ZXJyb3JfZmQpOw0KKwkgICAgICBzY2ItPmVycm9yX2ZkID0gLTE7DQorCSAg ICAgIGJyZWFrOw0KKwkgICAgfQ0KKw0KKwkgIC8qIEluIHRoZW9yeSwgZW1i ZWRkZWQgbmV3bGluZXMgYXJlIG5vdCBhIHByb2JsZW0uDQorCSAgICAgQnV0 IGZvciBNSSwgd2Ugd2FudCBlYWNoIG91dHB1dCBsaW5lIHRvIGhhdmUganVz dA0KKwkgICAgIG9uZSBuZXdsaW5lIGZvciBsZWdpYmlsaXR5LiAgU28gb3V0 cHV0IHRoaW5ncw0KKwkgICAgIGluIG5ld2xpbmUgY2h1bmtzLiAgKi8NCisJ ICBnZGJfYXNzZXJ0IChzID4gMCAmJiBzIDw9IEdEQl9NSV9NU0dfV0lEVEgp Ow0KKwkgIGJ1ZltzXSA9ICdcMCc7DQorCSAgY3VycmVudCA9IGJ1ZjsNCisJ ICB3aGlsZSAoKG5ld2xpbmUgPSBzdHJzdHIgKGN1cnJlbnQsICJcbiIpKSAh PSBOVUxMKQ0KKwkgICAgew0KKwkgICAgICAqbmV3bGluZSA9ICdcMCc7DQor CSAgICAgIGZwdXRzX3VuZmlsdGVyZWQgKGN1cnJlbnQsIGdkYl9zdGRlcnIp Ow0KKwkgICAgICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkZXJy KTsNCisJICAgICAgY3VycmVudCA9IG5ld2xpbmUgKyAxOw0KKwkgICAgfQ0K Kw0KKwkgIGZwdXRzX3VuZmlsdGVyZWQgKGN1cnJlbnQsIGdkYl9zdGRlcnIp Ow0KKyAgICAgICB9DQorICAgIH0NCit9DQorDQogLyogUmVhZCBhIGNoYXJh Y3RlciB3aXRoIHVzZXItc3BlY2lmaWVkIHRpbWVvdXQuICBUSU1FT1VUIGlz IG51bWJlciBvZiBzZWNvbmRzDQogICAgdG8gd2FpdCwgb3IgLTEgdG8gd2Fp dCBmb3JldmVyLiAgVXNlIHRpbWVvdXQgb2YgMCB0byBlZmZlY3QgYSBwb2xs LiAgUmV0dXJucw0KICAgIGNoYXIgaWYgc3VjY2Vzc2Z1bC4gIFJldHVybnMg LTIgaWYgdGltZW91dCBleHBpcmVkLCBFT0YgaWYgbGluZSBkcm9wcGVkDQpA QCAtMjkyLDYgKzM1MSwxMSBAQCBkb19zZXJfYmFzZV9yZWFkY2hhciAoc3Ry dWN0IHNlcmlhbCAqc2NiLCBpbnQgdGltZW91dCkNCiAJICBzdGF0dXMgPSBT RVJJQUxfVElNRU9VVDsNCiAJICBicmVhazsNCiAJfQ0KKw0KKyAgICAgIC8q IFdlIGFsc28gbmVlZCB0byBjaGVjayBhbmQgY29uc3VtZSB0aGUgc3RkZXJy IGJlY2F1c2UgaXQgY291bGQNCisJIGNvbWUgYmVmb3JlIHRoZSBzdGRvdXQg Zm9yIHNvbWUgc3R1YnMuICBJZiB3ZSBqdXN0IHNpdCBhbmQgd2FpdA0KKwkg Zm9yIHN0ZG91dCwgd2Ugd291bGQgaGl0IGEgZGVhZGxvY2sgZm9yIHRoYXQg Y2FzZS4gICovDQorICAgICAgc2VyX2Jhc2VfcmVhZF9lcnJvcl9mZCAoc2Ni LCAwKTsNCiAgICAgfQ0KIA0KICAgaWYgKHN0YXR1cyA8IDApDQpAQCAtMzYy LDU0ICs0MjYsOSBAQCBnZW5lcmljX3JlYWRjaGFyIChzdHJ1Y3Qgc2VyaWFs ICpzY2IsIGludCB0aW1lb3V0LA0KIAkgICAgfQ0KIAl9DQogICAgIH0NCi0g IC8qIFJlYWQgYW55IGVycm9yIG91dHB1dCB3ZSBtaWdodCBoYXZlLiAgKi8N Ci0gIGlmIChzY2ItPmVycm9yX2ZkICE9IC0xKQ0KLSAgICB7DQotICAgICAg c3NpemVfdCBzOw0KLSAgICAgIGNoYXIgYnVmWzgxXTsNCi0NCi0gICAgICBm b3IgKDs7KQ0KLSAgICAgICAgew0KLSAJICBjaGFyICpjdXJyZW50Ow0KLSAJ ICBjaGFyICpuZXdsaW5lOw0KLQkgIGludCB0b19yZWFkID0gODA7DQotDQot CSAgaW50IG51bV9ieXRlcyA9IC0xOw0KLQkgIGlmIChzY2ItPm9wcy0+YXZh aWwpDQotCSAgICBudW1fYnl0ZXMgPSAoc2NiLT5vcHMtPmF2YWlsKShzY2Is IHNjYi0+ZXJyb3JfZmQpOw0KLQkgIGlmIChudW1fYnl0ZXMgIT0gLTEpDQot CSAgICB0b19yZWFkID0gKG51bV9ieXRlcyA8IHRvX3JlYWQpID8gbnVtX2J5 dGVzIDogdG9fcmVhZDsNCi0NCi0JICBpZiAodG9fcmVhZCA9PSAwKQ0KLQkg ICAgYnJlYWs7DQotDQotCSAgcyA9IHJlYWQgKHNjYi0+ZXJyb3JfZmQsICZi dWYsIHRvX3JlYWQpOw0KLQkgIGlmIChzID09IC0xKQ0KLQkgICAgYnJlYWs7 DQotCSAgaWYgKHMgPT0gMCkNCi0JICAgIHsNCi0JICAgICAgLyogRU9GICov DQotCSAgICAgIGNsb3NlIChzY2ItPmVycm9yX2ZkKTsNCi0JICAgICAgc2Ni LT5lcnJvcl9mZCA9IC0xOw0KLQkgICAgICBicmVhazsNCi0JICAgIH0NCiAN Ci0JICAvKiBJbiB0aGVvcnksIGVtYmVkZGVkIG5ld2xpbmVzIGFyZSBub3Qg YSBwcm9ibGVtLg0KLQkgICAgIEJ1dCBmb3IgTUksIHdlIHdhbnQgZWFjaCBv dXRwdXQgbGluZSB0byBoYXZlIGp1c3QNCi0JICAgICBvbmUgbmV3bGluZSBm b3IgbGVnaWJpbGl0eS4gIFNvIG91dHB1dCB0aGluZ3MNCi0JICAgICBpbiBu ZXdsaW5lIGNodW5rcy4gICovDQotCSAgYnVmW3NdID0gJ1wwJzsNCi0JICBj dXJyZW50ID0gYnVmOw0KLQkgIHdoaWxlICgobmV3bGluZSA9IHN0cnN0ciAo Y3VycmVudCwgIlxuIikpICE9IE5VTEwpDQotCSAgICB7DQotCSAgICAgICpu ZXdsaW5lID0gJ1wwJzsNCi0JICAgICAgZnB1dHNfdW5maWx0ZXJlZCAoY3Vy cmVudCwgZ2RiX3N0ZGVycik7DQotCSAgICAgIGZwdXRzX3VuZmlsdGVyZWQg KCJcbiIsIGdkYl9zdGRlcnIpOw0KLQkgICAgICBjdXJyZW50ID0gbmV3bGlu ZSArIDE7DQotCSAgICB9DQotCSAgZnB1dHNfdW5maWx0ZXJlZCAoY3VycmVu dCwgZ2RiX3N0ZGVycik7DQotCX0NCi0gICAgfQ0KKyAgLyogUmVhZCBhbnkg ZXJyb3Igb3V0cHV0IHdlIG1pZ2h0IGhhdmUuICAqLw0KKyAgc2VyX2Jhc2Vf cmVhZF9lcnJvcl9mZCAoc2NiLCAxKTsNCiANCiAgIHJlc2NoZWR1bGUgKHNj Yik7DQogICByZXR1cm4gY2g7DQotLSANCjEuNy45LjUNCg0K ------=_NextPart_000_000B_01CD6434.37E2A650--