From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27009 invoked by alias); 12 Aug 2011 13:10:35 -0000 Received: (qmail 25847 invoked by uid 22791); 12 Aug 2011 13:10:33 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_CP X-Spam-Check-By: sourceware.org Received: from mail-yi0-f41.google.com (HELO mail-yi0-f41.google.com) (209.85.218.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Aug 2011 13:10:18 +0000 Received: by yib2 with SMTP id 2so2149858yib.0 for ; Fri, 12 Aug 2011 06:10:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.138.229 with SMTP id a65mr2833359yhj.164.1313154617573; Fri, 12 Aug 2011 06:10:17 -0700 (PDT) Received: by 10.236.34.193 with HTTP; Fri, 12 Aug 2011 06:10:17 -0700 (PDT) In-Reply-To: References: Date: Fri, 12 Aug 2011 13:10:00 -0000 Message-ID: Subject: Re: [patch] python prompt additions at first prompt. From: Matt Rice To: Tom Tromey Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf303ea60a8402aa04aa4ea282 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: 2011-08/txt/msg00244.txt.bz2 --20cf303ea60a8402aa04aa4ea282 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2166 sorry, think i'm done now... this patch is intended to be functionally equivalent to the one i sent yesterday wrt prompt bugs, I thought (too late), that the sync_execution && !is_running behavior of 'display an empty prompt followed by an actual prompt' is odd, and since it happens only in obscure cases is easily missed. it seems clearer to return early in all sync_execution cases, and limit the potential for introducing the double prompting type of bug. I haven't been able to find any problems with this approach. 2011-08-12 Matt Rice * event-top.c (cli_command_loop): Call display_gdb_prompt unconditionally. (display_gdb_prompt): Exit early if sync_execution is set. Move observer calls after early exits. Remove extra semi-colon. (async_enable_stdin): Don't pop an empty prompt. (async_disable_stdin): Don't push an empty prompt. more information on PR 10720, which I'd had random difficulties reproducing, I managed to figure out why, the process being attached to must be on the same tty as the gdb process to reproduce it. Haven't been able to reproduce that in the testsuite though. thus the following gdb command lines on the various PID tty's the buggy gdb process which gets Stopped is frobbed. $ ~/tests/test & [10] 18413 $ tty /dev/pts/0 $ ~/tests/test & [3] 18415 $ tty /dev/pts/4 $ gdb/gdb -quiet -ex 'set target-async on' -ex 'attach 18415' -ex 'continue&' Attaching to process 18415 Continuing. [4]+ Stopped gdb/gdb -quiet -ex 'set target-async on' -ex 'attach 18415' -ex 'continue&' $ gdb/gdb -quiet -ex 'set target-async on' -ex 'attach 18413' -ex 'continue&' Attaching to process 18413 Continuing. Program received signal SIGSTOP, Stopped (signal). 0x00400525 in ?? () Reading symbols from /home/ratmice/tests/test...done. Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 main (argc=1, argv=0x7fff67d42c68) at test.c:39 39 ; (gdb) --20cf303ea60a8402aa04aa4ea282 Content-Type: text/x-patch; charset=US-ASCII; name="bar.diff" Content-Disposition: attachment; filename="bar.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gr936jao1 Content-length: 5413 ZGlmZiAtLWdpdCBhL2dkYi9ldmVudC10b3AuYyBiL2dkYi9ldmVudC10b3Au YwppbmRleCAzNzg4MjcyOC4uMjlhNTdmMSAxMDA2NDQKLS0tIGEvZ2RiL2V2 ZW50LXRvcC5jCisrKyBiL2dkYi9ldmVudC10b3AuYwpAQCAtMTg1LDI3ICsx ODUsNyBAQCBybF9jYWxsYmFja19yZWFkX2NoYXJfd3JhcHBlciAoZ2RiX2Ns aWVudF9kYXRhIGNsaWVudF9kYXRhKQogdm9pZAogY2xpX2NvbW1hbmRfbG9v cCAodm9pZCkKIHsKLSAgLyogSWYgd2UgYXJlIHVzaW5nIHJlYWRsaW5lLCBz ZXQgdGhpbmdzIHVwIGFuZCBkaXNwbGF5IHRoZSBmaXJzdAotICAgICBwcm9t cHQsIG90aGVyd2lzZSBqdXN0IHByaW50IHRoZSBwcm9tcHQuICAqLwotICBp ZiAoYXN5bmNfY29tbWFuZF9lZGl0aW5nX3ApCi0gICAgewotICAgICAgaW50 IGxlbmd0aDsKLSAgICAgIGNoYXIgKmFfcHJvbXB0OwotICAgICAgY2hhciAq Z2RiX3Byb21wdCA9IGdldF9wcm9tcHQgKDApOwotCi0gICAgICAvKiBUZWxs IHJlYWRsaW5lIHdoYXQgdGhlIHByb21wdCB0byBkaXNwbGF5IGlzIGFuZCB3 aGF0IGZ1bmN0aW9uCi0gICAgICAgICBpdCB3aWxsIG5lZWQgdG8gY2FsbCBh ZnRlciBhIHdob2xlIGxpbmUgaXMgcmVhZC4gIFRoaXMgYWxzbwotICAgICAg ICAgZGlzcGxheXMgdGhlIGZpcnN0IHByb21wdC4gICovCi0gICAgICBsZW5n dGggPSBzdHJsZW4gKGdldF9wcmVmaXggKDApKQotCSsgc3RybGVuIChnZGJf cHJvbXB0KSArIHN0cmxlbiAoZ2V0X3N1ZmZpeCgwKSkgKyAxOwotICAgICAg YV9wcm9tcHQgPSAoY2hhciAqKSBhbGxvY2EgKGxlbmd0aCk7Ci0gICAgICBz dHJjcHkgKGFfcHJvbXB0LCBnZXRfcHJlZml4ICgwKSk7Ci0gICAgICBzdHJj YXQgKGFfcHJvbXB0LCBnZGJfcHJvbXB0KTsKLSAgICAgIHN0cmNhdCAoYV9w cm9tcHQsIGdldF9zdWZmaXggKDApKTsKLSAgICAgIHJsX2NhbGxiYWNrX2hh bmRsZXJfaW5zdGFsbCAoYV9wcm9tcHQsIGlucHV0X2hhbmRsZXIpOwotICAg IH0KLSAgZWxzZQotICAgIGRpc3BsYXlfZ2RiX3Byb21wdCAoMCk7CisgIGRp c3BsYXlfZ2RiX3Byb21wdCAoMCk7CiAKICAgLyogTm93IGl0J3MgdGltZSB0 byBzdGFydCB0aGUgZXZlbnQgbG9vcC4gICovCiAgIHN0YXJ0X2V2ZW50X2xv b3AgKCk7CkBAIC0yNjksMjYgKzI0OSw3IEBAIGRpc3BsYXlfZ2RiX3Byb21w dCAoY2hhciAqbmV3X3Byb21wdCkKICAgaWYgKCFjdXJyZW50X2ludGVycF9k aXNwbGF5X3Byb21wdF9wICgpKQogICAgIHJldHVybjsKIAotICAvKiBHZXQg dGhlIHByb21wdCBiZWZvcmUgdGhlIG9ic2VydmVycyBhcmUgY2FsbGVkIGFz IG9ic2VydmVyIGhvb2sKLSAgICAgZnVuY3Rpb25zIG1heSBjaGFuZ2UgdGhl IHByb21wdC4gIERvIG5vdCBjYWxsIG9ic2VydmVycyBvbiBhbgotICAgICBl eHBsaWNpdCBwcm9tcHQgY2hhbmdlIGFzIHBhc3NlZCB0byB0aGlzIGZ1bmN0 aW9uLCBhcyB0aGlzIGZvcm1zCi0gICAgIGEgdGVtcG9yYXJ5IHByb21wdCwg SUUsIGRpc3BsYXllZCBidXQgbm90IHNldC4gICovCi0gIGlmICghIG5ld19w cm9tcHQpCi0gICAgewotICAgICAgY2hhciAqcG9zdF9nZGJfcHJvbXB0ID0g TlVMTDsKLSAgICAgIGNoYXIgKnByZV9nZGJfcHJvbXB0ID0geHN0cmR1cCAo Z2V0X3Byb21wdCAoMCkpOwotCi0gICAgICBvYnNlcnZlcl9ub3RpZnlfYmVm b3JlX3Byb21wdCAocHJlX2dkYl9wcm9tcHQpOwotICAgICAgcG9zdF9nZGJf cHJvbXB0ID0gZ2V0X3Byb21wdCAoMCk7Ci0KLSAgICAgIC8qIElmIHRoZSBv YnNlcnZlciBjaGFuZ2VkIHRoZSBwcm9tcHQsIHVzZSB0aGF0IHByb21wdC4g ICovCi0gICAgICBpZiAoc3RyY21wIChwcmVfZ2RiX3Byb21wdCwgcG9zdF9n ZGJfcHJvbXB0KSAhPSAwKQotCWFjdHVhbF9nZGJfcHJvbXB0ID0gcG9zdF9n ZGJfcHJvbXB0OwotCi0gICAgICB4ZnJlZSAocHJlX2dkYl9wcm9tcHQpOwot ICAgIH0KLQotICBpZiAoc3luY19leGVjdXRpb24gJiYgaXNfcnVubmluZyAo aW5mZXJpb3JfcHRpZCkpCisgIGlmIChzeW5jX2V4ZWN1dGlvbikKICAgICB7 CiAgICAgICAvKiBUaGlzIGlzIHRvIHRyaWNrIHJlYWRsaW5lIGludG8gbm90 IHRyeWluZyB0byBkaXNwbGF5IHRoZQogICAgICAgICAgcHJvbXB0LiAgRXZl biB0aG91Z2ggd2UgZGlzcGxheSB0aGUgcHJvbXB0IHVzaW5nIHRoaXMKQEAg LTMwNSwxMCArMjY2LDMxIEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAoY2hhciAq bmV3X3Byb21wdCkKICAgICAgICAgIGJldHdlZW4gdGhlIGNhbGxzIHRvIHRo ZSBhYm92ZSB0d28gZnVuY3Rpb25zLgogICAgICAgICAgQ2FsbGluZyBybF9j YWxsYmFja19oYW5kbGVyX3JlbW92ZSgpLCBkb2VzIHRoZSBqb2IuICAqLwog Ci0gICAgICBybF9jYWxsYmFja19oYW5kbGVyX3JlbW92ZSAoKTsKKyAgICAg IGlmIChpc19ydW5uaW5nIChpbmZlcmlvcl9wdGlkKSkKKyAgICAgICAgcmxf Y2FsbGJhY2tfaGFuZGxlcl9yZW1vdmUgKCk7CisKICAgICAgIHJldHVybjsK ICAgICB9CiAKKyAgLyogR2V0IHRoZSBwcm9tcHQgYmVmb3JlIHRoZSBvYnNl cnZlcnMgYXJlIGNhbGxlZCBhcyBvYnNlcnZlciBob29rCisgICAgIGZ1bmN0 aW9ucyBtYXkgY2hhbmdlIHRoZSBwcm9tcHQuICBEbyBub3QgY2FsbCBvYnNl cnZlcnMgb24gYW4KKyAgICAgZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcyBw YXNzZWQgdG8gdGhpcyBmdW5jdGlvbiwgYXMgdGhpcyBmb3JtcworICAgICBh IHRlbXBvcmFyeSBwcm9tcHQsIElFLCBkaXNwbGF5ZWQgYnV0IG5vdCBzZXQu ICAqLworICBpZiAoISBuZXdfcHJvbXB0KQorICAgIHsKKyAgICAgIGNoYXIg KnBvc3RfZ2RiX3Byb21wdCA9IE5VTEw7CisgICAgICBjaGFyICpwcmVfZ2Ri X3Byb21wdCA9IHhzdHJkdXAgKGdldF9wcm9tcHQgKDApKTsKKworICAgICAg b2JzZXJ2ZXJfbm90aWZ5X2JlZm9yZV9wcm9tcHQgKHByZV9nZGJfcHJvbXB0 KTsKKyAgICAgIHBvc3RfZ2RiX3Byb21wdCA9IGdldF9wcm9tcHQgKDApOwor CisgICAgICAvKiBJZiB0aGUgb2JzZXJ2ZXIgY2hhbmdlZCB0aGUgcHJvbXB0 LCB1c2UgdGhhdCBwcm9tcHQuICAqLworICAgICAgaWYgKHN0cmNtcCAocHJl X2dkYl9wcm9tcHQsIHBvc3RfZ2RiX3Byb21wdCkgIT0gMCkKKwlhY3R1YWxf Z2RiX3Byb21wdCA9IHBvc3RfZ2RiX3Byb21wdDsKKworICAgICAgeGZyZWUg KHByZV9nZGJfcHJvbXB0KTsKKyAgICB9CisKICAgLyogSWYgdGhlIG9ic2Vy dmVyIGNoYW5nZWQgdGhlIHByb21wdCwgQUNUVUFMX0dEQl9QUk9NUFQgd2ls bCBub3QgYmUKICAgICAgTlVMTC4gIE90aGVyd2lzZSwgZWl0aGVyIGNvcHkg dGhlIGV4aXN0aW5nIHByb21wdCwgb3Igc2V0IGl0IHRvCiAgICAgIE5FV19Q Uk9NUFQuICAqLwpAQCAtMzMxLDcgKzMxMyw3IEBAIGRpc3BsYXlfZ2RiX3By b21wdCAoY2hhciAqbmV3X3Byb21wdCkKIAkgIHN0cmNhdCAoYWN0dWFsX2dk Yl9wcm9tcHQsIGdldF9zdWZmaXggKDApKTsKIAl9CiAgICAgICBlbHNlCi0J YWN0dWFsX2dkYl9wcm9tcHQgPSBuZXdfcHJvbXB0OzsKKwlhY3R1YWxfZ2Ri X3Byb21wdCA9IG5ld19wcm9tcHQ7CiAgICAgfQogCiAgIGlmIChhc3luY19j b21tYW5kX2VkaXRpbmdfcCkKQEAgLTQ3Myw3ICs0NTUsNiBAQCBhc3luY19l bmFibGVfc3RkaW4gKHZvaWQpCiAJIHN5bmNfZXhlY3V0aW9uLiAgQ3VycmVu dCB0YXJnZXRfdGVybWluYWxfb3VycygpIGltcGxlbWVudGF0aW9ucwogCSBj aGVjayBmb3Igc3luY19leGVjdXRpb24gYmVmb3JlIHN3aXRjaGluZyB0aGUg dGVybWluYWwuICAqLwogICAgICAgdGFyZ2V0X3Rlcm1pbmFsX291cnMgKCk7 Ci0gICAgICBwb3BfcHJvbXB0ICgpOwogICAgICAgc3luY19leGVjdXRpb24g PSAwOwogICAgIH0KIH0KQEAgLTQ4Nyw3ICs0NjgsNiBAQCBhc3luY19kaXNh YmxlX3N0ZGluICh2b2lkKQogICBpZiAoIXN5bmNfZXhlY3V0aW9uKQogICAg IHsKICAgICAgIHN5bmNfZXhlY3V0aW9uID0gMTsKLSAgICAgIHB1c2hfcHJv bXB0ICgiIiwgIiIsICIiKTsKICAgICB9CiB9CiAMCg== --20cf303ea60a8402aa04aa4ea282--