From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12440 invoked by alias); 30 Apr 2009 21:51:38 -0000 Received: (qmail 12432 invoked by uid 22791); 30 Apr 2009 21:51:36 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 30 Apr 2009 21:51:31 +0000 Received: from wpaz21.hot.corp.google.com (wpaz21.hot.corp.google.com [172.24.198.85]) by smtp-out.google.com with ESMTP id n3ULpT3Y026765 for ; Thu, 30 Apr 2009 14:51:29 -0700 Received: from yx-out-1718.google.com (yxh36.prod.google.com [10.190.2.228]) by wpaz21.hot.corp.google.com with ESMTP id n3ULpRh9032143 for ; Thu, 30 Apr 2009 14:51:28 -0700 Received: by yx-out-1718.google.com with SMTP id 36so1646528yxh.18 for ; Thu, 30 Apr 2009 14:51:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.90.31.8 with SMTP id e8mr1595961age.82.1241128287841; Thu, 30 Apr 2009 14:51:27 -0700 (PDT) In-Reply-To: References: <20090410231814.40469846AB@localhost> <200904111604.05252.pedro@codesourcery.com> Date: Thu, 30 Apr 2009 21:51:00 -0000 Message-ID: Subject: Re: [RFA] Don't kill inferior if there's a typo in the specified port. From: Doug Evans To: Pedro Alves Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001636164aa7b7af800468ccb229 X-System-Of-Record: true 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: 2009-04/txt/msg00824.txt.bz2 --001636164aa7b7af800468ccb229 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2723 On Mon, Apr 13, 2009 at 11:49 AM, Doug Evans wrote: > On Sat, Apr 11, 2009 at 8:04 AM, Pedro Alves wro= te: >>> It also moves the status message to the callback; >>> it's only called when exiting gdb (and if that changes one can split >>> the function into silent/verbose versions). >>> An alternative is something like this: >>> >>> - =A0 =A0 =A0fprintf (stderr, "Killing all inferiors\n"); >>> + =A0 =A0 =A0fprintf (stderr, "Detaching or killing all inferiors\n"); >>> >>> but will that be confusing? >> >> Perhaps: >> >> =A0"Detaching from inferiors we had attached to, and killing all others\= n" >> >> dunno, don't want to start a bikeshed-ish discussion on that. >> >>> OTOH, if gdbserver ever gets used with 10's or 100's of processes, >>> exiting with one line per process may be a bit much. >>> OTOOH, the user might like to know what got detached and what got kille= d. >>> I don't know, but I can change the patch to do whatever y'all prefer. >> >> Yeah. =A0If this is a real problem, then we could output something like, >> >> =A0Killing process(es) PID1, PID2, PID3, PID4, PIDnn. >> =A0Detaching process(es) PID1, PID2, PID3, PID4, PIDnn. >> >> This should mitigate the problem, although if you're really attached to >> 100's of processes, it will still print a lot. >> >> The other thing that crossed my mind was that if you had a bunch >> of processes, the real error message that let to gdbserver bailing out >> would be buried in the output many lines before all those >> "Killing/detaching process X". =A0The only version that doesn't >> have this problem is the one that doesn't include any detail, like >> the first option. > > One reason why I like printing which processes were detached from and > which were killed is: What happens if the process is gone shortly > after gdbserver exits? =A0Did gdbserver kill it, or did the detach screw > up, or did the program crash on its own shortly after gdbserver > detached? =A0Tracking this down will be a pain without this info. =A0One > could add a verbose option to print such info I guess, but it might > cut down on support costs if this info was always printed. > >> >> Anyway, I've no real inclination for any of these possible >> outputs. >> >>> Ok to check in? >> >> This is fine with me. =A0Let's give it a few days in case Daniel or >> others want to comment. >> >> Thanks for documenting detach_or_kill_inferior_callback, btw ;-). >> >> -- >> Pedro Alves >> > Ok to check this in? It does Killing process(es) PID1, PID2, PID3, PID4, PIDnn. Detaching process(es) PID1, PID2, PID3, PID4, PIDnn. though I removed the commas for simplicity. [I'm proactively avoiding some of the issues being raised. :-)] --001636164aa7b7af800468ccb229 Content-Type: text/plain; charset=US-ASCII; name="gdb-090430-gdbserver-attached-2.patch.txt" Content-Disposition: attachment; filename="gdb-090430-gdbserver-attached-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fu5z7n9p0 Content-length: 8126 MjAwOS0wNC0zMCAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCSog aW5mZXJpb3JzLmMgKHN0YXJ0ZWRfaW5mZXJpb3JfY2FsbGJhY2spOiBOZXcg ZnVuY3Rpb24uCgkoYXR0YWNoZWRfaW5mZXJpb3JfY2FsbGJhY2spOiBOZXcg ZnVuY3Rpb24uCgkoaGF2ZV9zdGFydGVkX2luZmVyaW9yc19wLCBoYXZlX2F0 dGFjaGVkX2luZmVyaW9yc19wKTogTmV3IGZ1bmN0aW9ucy4KCSogc2VydmVy LmMgKHByaW50X3N0YXJ0ZWRfcGlkLCBwcmludF9hdHRhY2hlZF9waWQpOiBO ZXcgZnVuY3Rpb25zLgoJKGRldGFjaF9vcl9raWxsX2Zvcl9leGl0KTogTmV3 IGZ1bmN0aW9uLgoJKG1haW4pOiBDYWxsIGl0IGluc3RlYWQgb2YgZm9yX2Vh Y2hfaW5mZXJpb3IgKGtpbGxfaW5mZXJpb3JfY2FsbGJhY2spLgoJKiBzZXJ2 ZXIuaCAoaGF2ZV9zdGFydGVkX2luZmVyaW9yc19wKTogRGVjbGFyZS4KCSho YXZlX2F0dGFjaGVkX2luZmVyaW9yc19wKTogRGVjbGFyZS4KCkluZGV4OiBp bmZlcmlvcnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv Y3ZzL3NyYy9zcmMvZ2RiL2dkYnNlcnZlci9pbmZlcmlvcnMuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4yMQpkaWZmIC11IC1wIC1yMS4yMSBpbmZlcmlv cnMuYwotLS0gaW5mZXJpb3JzLmMJMzAgQXByIDIwMDkgMTg6MzU6NTUgLTAw MDAJMS4yMQorKysgaW5mZXJpb3JzLmMJMzAgQXByIDIwMDkgMjE6MDM6MzEg LTAwMDAKQEAgLTEyNyw2ICsxMjcsOCBAQCBhZGRfaW5mZXJpb3JfdG9fbGlz dCAoc3RydWN0IGluZmVyaW9yX2xpCiAgIGxpc3QtPnRhaWwgPSBuZXdfaW5m ZXJpb3I7CiB9CiAKKy8qIEludm9rZSBBQ1RJT04gZm9yIGVhY2ggaW5mZXJp b3IgaW4gTElTVC4gICovCisKIHZvaWQKIGZvcl9lYWNoX2luZmVyaW9yIChz dHJ1Y3QgaW5mZXJpb3JfbGlzdCAqbGlzdCwKIAkJICAgdm9pZCAoKmFjdGlv bikgKHN0cnVjdCBpbmZlcmlvcl9saXN0X2VudHJ5ICopKQpAQCAtNDQ3LDYg KzQ0OSw0NiBAQCBmaW5kX3Byb2Nlc3NfcGlkIChpbnQgcGlkKQogICAgIGZp bmRfaW5mZXJpb3JfaWQgKCZhbGxfcHJvY2Vzc2VzLCBwaWRfdG9fcHRpZCAo cGlkKSk7CiB9CiAKKy8qIFJldHVybiBub24temVybyBpZiBJTkYsIGEgc3Ry dWN0IHByb2Nlc3NfaW5mbywgd2FzIHN0YXJ0ZWQgYnkgdXMsCisgICBpLmUu IG5vdCBhdHRhY2hlZCB0by4gICovCisKK3N0YXRpYyBpbnQKK3N0YXJ0ZWRf aW5mZXJpb3JfY2FsbGJhY2sgKHN0cnVjdCBpbmZlcmlvcl9saXN0X2VudHJ5 ICplbnRyeSwgdm9pZCAqYXJncykKK3sKKyAgc3RydWN0IHByb2Nlc3NfaW5m byAqcHJvY2VzcyA9IChzdHJ1Y3QgcHJvY2Vzc19pbmZvICopIGVudHJ5Owor CisgIHJldHVybiAhIHByb2Nlc3MtPmF0dGFjaGVkOworfQorCisvKiBSZXR1 cm4gbm9uLXplcm8gaWYgdGhlcmUgYXJlIGFueSBpbmZlcmlvcnMgdGhhdCB3 ZSBoYXZlIGNyZWF0ZWQKKyAgIChhcyBvcHBvc2VkIHRvIGF0dGFjaGVkLXRv KS4gICovCisKK2ludAoraGF2ZV9zdGFydGVkX2luZmVyaW9yc19wICh2b2lk KQoreworICByZXR1cm4gKGZpbmRfaW5mZXJpb3IgKCZhbGxfcHJvY2Vzc2Vz LCBzdGFydGVkX2luZmVyaW9yX2NhbGxiYWNrLCBOVUxMKQorCSAgIT0gTlVM TCk7Cit9CisKKy8qIFJldHVybiBub24temVybyBpZiBJTkYsIGEgc3RydWN0 IHByb2Nlc3NfaW5mbywgd2FzIGF0dGFjaGVkIHRvLiAgKi8KKworc3RhdGlj IGludAorYXR0YWNoZWRfaW5mZXJpb3JfY2FsbGJhY2sgKHN0cnVjdCBpbmZl cmlvcl9saXN0X2VudHJ5ICplbnRyeSwgdm9pZCAqYXJncykKK3sKKyAgc3Ry dWN0IHByb2Nlc3NfaW5mbyAqcHJvY2VzcyA9IChzdHJ1Y3QgcHJvY2Vzc19p bmZvICopIGVudHJ5OworCisgIHJldHVybiBwcm9jZXNzLT5hdHRhY2hlZDsK K30KKworLyogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZXJlIGFyZSBhbnkgaW5m ZXJpb3JzIHRoYXQgd2UgaGF2ZSBhdHRhY2hlZCB0by4gICovCisKK2ludAor aGF2ZV9hdHRhY2hlZF9pbmZlcmlvcnNfcCAodm9pZCkKK3sKKyAgcmV0dXJu IChmaW5kX2luZmVyaW9yICgmYWxsX3Byb2Nlc3NlcywgYXR0YWNoZWRfaW5m ZXJpb3JfY2FsbGJhY2ssIE5VTEwpCisJICAhPSBOVUxMKTsKK30KKwogc3Ry dWN0IHByb2Nlc3NfaW5mbyAqCiBnZXRfdGhyZWFkX3Byb2Nlc3MgKHN0cnVj dCB0aHJlYWRfaW5mbyAqdGhyZWFkKQogewpJbmRleDogc2VydmVyLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dk Yi9nZGJzZXJ2ZXIvc2VydmVyLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu OTUKZGlmZiAtdSAtcCAtcjEuOTUgc2VydmVyLmMKLS0tIHNlcnZlci5jCTEg QXByIDIwMDkgMjI6NTA6MjQgLTAwMDAJMS45NQorKysgc2VydmVyLmMJMzAg QXByIDIwMDkgMjE6MDM6MzEgLTAwMDAKQEAgLTE4MDgsNiArMTgwOCwxMSBA QCBraWxsX2luZmVyaW9yX2NhbGxiYWNrIChzdHJ1Y3QgaW5mZXJpb3JfCiAg IGRpc2NhcmRfcXVldWVkX3N0b3BfcmVwbGllcyAocGlkKTsKIH0KIAorLyog Q2FsbGJhY2sgZm9yIGZvcl9lYWNoX2luZmVyaW9yIHRvIGRldGFjaCBvciBr aWxsIHRoZSBpbmZlcmlvciwKKyAgIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdl IGF0dGFjaGVkIHRvIGl0IG9yIG5vdC4KKyAgIFdlIGluZm9ybSB0aGUgdXNl ciB3aGV0aGVyIHdlJ3JlIGRldGFjaGluZyBvciBraWxsaW5nIHRoZSBwcm9j ZXNzCisgICBhcyB0aGlzIGlzIG9ubHkgY2FsbGVkIHdoZW4gZ2Ric2VydmVy IGlzIGFib3V0IHRvIGV4aXQuICAqLworCiBzdGF0aWMgdm9pZAogZGV0YWNo X29yX2tpbGxfaW5mZXJpb3JfY2FsbGJhY2sgKHN0cnVjdCBpbmZlcmlvcl9s aXN0X2VudHJ5ICplbnRyeSkKIHsKQEAgLTE4MjIsNiArMTgyNyw2NSBAQCBk ZXRhY2hfb3Jfa2lsbF9pbmZlcmlvcl9jYWxsYmFjayAoc3RydWN0CiAgIGRp c2NhcmRfcXVldWVkX3N0b3BfcmVwbGllcyAocGlkKTsKIH0KIAorLyogZm9y X2VhY2hfaW5mZXJpb3IgY2FsbGJhY2sgZm9yIGRldGFjaF9vcl9raWxsX2Zv cl9leGl0IHRvIHByaW50CisgICB0aGUgcGlkcyBvZiBzdGFydGVkIGluZmVy aW9ycy4gICovCisKK3N0YXRpYyB2b2lkCitwcmludF9zdGFydGVkX3BpZCAo c3RydWN0IGluZmVyaW9yX2xpc3RfZW50cnkgKmVudHJ5KQoreworICBzdHJ1 Y3QgcHJvY2Vzc19pbmZvICpwcm9jZXNzID0gKHN0cnVjdCBwcm9jZXNzX2lu Zm8gKikgZW50cnk7CisKKyAgaWYgKCEgcHJvY2Vzcy0+YXR0YWNoZWQpCisg ICAgeworICAgICAgaW50IHBpZCA9IHB0aWRfZ2V0X3BpZCAocHJvY2Vzcy0+ aGVhZC5pZCk7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICIgJWQiLCBwaWQp OworICAgIH0KK30KKworLyogZm9yX2VhY2hfaW5mZXJpb3IgY2FsbGJhY2sg Zm9yIGRldGFjaF9vcl9raWxsX2Zvcl9leGl0IHRvIHByaW50CisgICB0aGUg cGlkcyBvZiBhdHRhY2hlZCBpbmZlcmlvcnMuICAqLworCitzdGF0aWMgdm9p ZAorcHJpbnRfYXR0YWNoZWRfcGlkIChzdHJ1Y3QgaW5mZXJpb3JfbGlzdF9l bnRyeSAqZW50cnkpCit7CisgIHN0cnVjdCBwcm9jZXNzX2luZm8gKnByb2Nl c3MgPSAoc3RydWN0IHByb2Nlc3NfaW5mbyAqKSBlbnRyeTsKKworICBpZiAo cHJvY2Vzcy0+YXR0YWNoZWQpCisgICAgeworICAgICAgaW50IHBpZCA9IHB0 aWRfZ2V0X3BpZCAocHJvY2Vzcy0+aGVhZC5pZCk7CisgICAgICBmcHJpbnRm IChzdGRlcnIsICIgJWQiLCBwaWQpOworICAgIH0KK30KKworLyogQ2FsbCB0 aGlzIHdoZW4gZXhpdGluZyBnZGJzZXJ2ZXIgd2l0aCBwb3NzaWJsZSBpbmZl cmlvcnMgdGhhdCBuZWVkCisgICB0byBiZSBraWxsZWQgb3IgZGV0YWNoZWQg ZnJvbS4gICovCisKK3N0YXRpYyB2b2lkCitkZXRhY2hfb3Jfa2lsbF9mb3Jf ZXhpdCAodm9pZCkKK3sKKyAgLyogRmlyc3QgcHJpbnQgYSBsaXN0IG9mIHRo ZSBpbmZlcmlvcnMgd2Ugd2lsbCBiZSBraWxsaW5nL2RldGFjaGluZy4KKyAg ICAgVGhpcyBpcyB0byBhc3Npc3QgdGhlIHVzZXIsIGZvciBleGFtcGxlLCBp biBjYXNlIHRoZSBpbmZlcmlvciB1bmV4cGVjdGVkbHkKKyAgICAgZGllcyBh ZnRlciB3ZSBleGl0OiBkaWQgd2Ugc2NyZXcgdXAgb3IgZGlkIHRoZSBpbmZl cmlvciBleGl0IG9uIGl0cyBvd24/CisgICAgIEhhdmluZyB0aGlzIGluZm8g d2lsbCBzYXZlIHNvbWUgaGVhZC1zY3JhdGNoaW5nLiAgKi8KKworICBpZiAo aGF2ZV9zdGFydGVkX2luZmVyaW9yc19wICgpKQorICAgIHsKKyAgICAgIGZw cmludGYgKHN0ZGVyciwgIktpbGxpbmcgcHJvY2Vzcyhlcyk6Iik7CisgICAg ICBmb3JfZWFjaF9pbmZlcmlvciAoJmFsbF9wcm9jZXNzZXMsIHByaW50X3N0 YXJ0ZWRfcGlkKTsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIlxuIik7Cisg ICAgfQorICBpZiAoaGF2ZV9hdHRhY2hlZF9pbmZlcmlvcnNfcCAoKSkKKyAg ICB7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJEZXRhY2hpbmcgcHJvY2Vz cyhlcyk6Iik7CisgICAgICBmb3JfZWFjaF9pbmZlcmlvciAoJmFsbF9wcm9j ZXNzZXMsIHByaW50X2F0dGFjaGVkX3BpZCk7CisgICAgICBmcHJpbnRmIChz dGRlcnIsICJcbiIpOworICAgIH0KKworICAvKiBOb3cgd2UgY2FuIGtpbGwg b3IgZGV0YWNoIHRoZSBpbmZlcmlvcnMuICAqLworCisgIGZvcl9lYWNoX2lu ZmVyaW9yICgmYWxsX3Byb2Nlc3NlcywgZGV0YWNoX29yX2tpbGxfaW5mZXJp b3JfY2FsbGJhY2spOworfQorCiBzdGF0aWMgdm9pZAogam9pbl9pbmZlcmlv cnNfY2FsbGJhY2sgKHN0cnVjdCBpbmZlcmlvcl9saXN0X2VudHJ5ICplbnRy eSkKIHsKQEAgLTIwMTUsOSArMjA3OSw3IEBAIG1haW4gKGludCBhcmdjLCBj aGFyICphcmd2W10pCiAKICAgaWYgKHNldGptcCAodG9wbGV2ZWwpKQogICAg IHsKLSAgICAgIGZwcmludGYgKHN0ZGVyciwgIktpbGxpbmcgYWxsIGluZmVy aW9yc1xuIik7Ci0gICAgICBmb3JfZWFjaF9pbmZlcmlvciAoJmFsbF9wcm9j ZXNzZXMsCi0JCQkga2lsbF9pbmZlcmlvcl9jYWxsYmFjayk7CisgICAgICBk ZXRhY2hfb3Jfa2lsbF9mb3JfZXhpdCAoKTsKICAgICAgIGV4aXQgKDEpOwog ICAgIH0KIApAQCAtMjA2Miw4ICsyMTI0LDcgQEAgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKIAogICAgICAgaWYgKGV4aXRfcmVxdWVzdGVkKQog CXsKLQkgIGZvcl9lYWNoX2luZmVyaW9yICgmYWxsX3Byb2Nlc3NlcywKLQkJ CSAgICAgZGV0YWNoX29yX2tpbGxfaW5mZXJpb3JfY2FsbGJhY2spOworCSAg ZGV0YWNoX29yX2tpbGxfZm9yX2V4aXQgKCk7CiAJICBleGl0ICgwKTsKIAl9 CiAgICAgICBlbHNlCkluZGV4OiBzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2dkYnNlcnZlci9z ZXJ2ZXIuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NgpkaWZmIC11IC1w IC1yMS41NiBzZXJ2ZXIuaAotLS0gc2VydmVyLmgJMyBBcHIgMjAwOSAyMDox NTo1MSAtMDAwMAkxLjU2CisrKyBzZXJ2ZXIuaAkzMCBBcHIgMjAwOSAyMTow MzozMSAtMDAwMApAQCAtMjM2LDYgKzIzNiw4IEBAIHZvaWQgYWRkX3RocmVh ZCAocHRpZF90IHB0aWQsIHZvaWQgKnRhcmcKIHN0cnVjdCBwcm9jZXNzX2lu Zm8gKmFkZF9wcm9jZXNzIChpbnQgcGlkLCBpbnQgYXR0YWNoZWQpOwogdm9p ZCByZW1vdmVfcHJvY2VzcyAoc3RydWN0IHByb2Nlc3NfaW5mbyAqcHJvY2Vz cyk7CiBzdHJ1Y3QgcHJvY2Vzc19pbmZvICpmaW5kX3Byb2Nlc3NfcGlkIChp bnQgcGlkKTsKK2ludCBoYXZlX3N0YXJ0ZWRfaW5mZXJpb3JzX3AgKHZvaWQp OworaW50IGhhdmVfYXR0YWNoZWRfaW5mZXJpb3JzX3AgKHZvaWQpOwogCiBz dHJ1Y3QgdGhyZWFkX2luZm8gKmZpbmRfdGhyZWFkX3BpZCAocHRpZF90IHB0 aWQpOwogCg== --001636164aa7b7af800468ccb229--