From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23775 invoked by alias); 27 Oct 2011 19:57:33 -0000 Received: (qmail 23765 invoked by uid 22791); 27 Oct 2011 19:57:32 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 27 Oct 2011 19:57:18 +0000 Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [172.25.149.7]) by smtp-out.google.com with ESMTP id p9RJvGf7003403 for ; Thu, 27 Oct 2011 12:57:17 -0700 Received: from gyf1 (gyf1.prod.google.com [10.243.50.65]) by hpaq7.eem.corp.google.com with ESMTP id p9RJtV9B027431 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Thu, 27 Oct 2011 12:57:16 -0700 Received: by gyf1 with SMTP id 1so4805068gyf.8 for ; Thu, 27 Oct 2011 12:57:15 -0700 (PDT) Received: by 10.100.199.13 with SMTP id w13mr852679anf.2.1319745435562; Thu, 27 Oct 2011 12:57:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.199.13 with SMTP id w13mr852674anf.2.1319745435377; Thu, 27 Oct 2011 12:57:15 -0700 (PDT) Received: by 10.100.212.17 with HTTP; Thu, 27 Oct 2011 12:57:15 -0700 (PDT) Date: Thu, 27 Oct 2011 20:29:00 -0000 Message-ID: Subject: [PATCH] Make map_symbol_filenames_psymtab interruptible From: Sterling Augustine To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=0016368e1eaadea23904b04d2d64 X-System-Of-Record: true 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-10/txt/msg00748.txt.bz2 --0016368e1eaadea23904b04d2d64 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 857 Hi, Enclosed is a patch to allow interrupting map_symbol_filenames_psymtab. This patch adds a call to QUIT in map_symbol_filenames_psymtab, and several functions to cleanup data that would have leaked. Also, this patch adds a cleanup for the existing leak in default_make_symbol_completion_list_break_on (check return_val's relation to the existing QUITs). Although the new QUIT doesn't introduce this particular leak, it creates many more opportunities for it to happen. Thanks, Sterling -- 2011-10-27 Sterling Augustine * psymtab.c (map_symbol_filenames_psymtab): Call QUIT. * symtab.c (free_completion_list): New function. (do_free_completion_list): Likewise. (default_make_symbol_completion_list_break_on): New variable back_to. Call make_cleanup and discard_cleanups. (make_source_files_completion_list): Likewise. --0016368e1eaadea23904b04d2d64 Content-Type: text/x-patch; charset=US-ASCII; name="cleanup.patch" Content-Disposition: attachment; filename="cleanup.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gua6a6rd0 Content-length: 3360 SW5kZXg6IHBzeW10YWIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3BzeW10YWIuYyx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS4zMApkaWZmIC1kIC11IC1yMS4zMCBwc3ltdGFiLmMKLS0t IHBzeW10YWIuYwkxMCBKdW4gMjAxMSAyMTo0ODowNCAtMDAwMAkxLjMwCisr KyBwc3ltdGFiLmMJMjcgT2N0IDIwMTEgMTk6Mzk6MDIgLTAwMDAKQEAgLTEw OTMsNiArMTA5Myw3IEBACiAgICAgICBpZiAocHMtPnJlYWRpbikKIAljb250 aW51ZTsKIAorICAgICAgUVVJVDsKICAgICAgIGZ1bGxuYW1lID0gcHN5bXRh Yl90b19mdWxsbmFtZSAocHMpOwogICAgICAgKCpmdW4pIChwcy0+ZmlsZW5h bWUsIGZ1bGxuYW1lLCBkYXRhKTsKICAgICB9CkluZGV4OiBzeW10YWIuYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMv Z2RiL3N5bXRhYi5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI4MwpkaWZm IC1kIC11IC1yMS4yODMgc3ltdGFiLmMKLS0tIHN5bXRhYi5jCTIxIEp1bCAy MDExIDE1OjEzOjI5IC0wMDAwCTEuMjgzCisrKyBzeW10YWIuYwkyNyBPY3Qg MjAxMSAxOTozOTowMiAtMDAwMApAQCAtMzU3Myw2ICszNTczLDI2IEBACiAg IHJldHVybiAxOwogfQogCisvKiBGcmVlIGFueSBtZW1vcnkgYXNzb2NpYXRl ZCB3aXRoIGEgY29tcGxldGlvbiBsaXN0LiAgKi8KK3N0YXRpYyB2b2lkCitm cmVlX2NvbXBsZXRpb25fbGlzdCAoY2hhciAqKipsaXN0X3B0cikKK3sKKyAg aW50IGkgPSAwOworICBjaGFyICoqbGlzdCA9ICpsaXN0X3B0cjsKKyAgd2hp bGUgKGxpc3RbaV0gIT0gTlVMTCkKKyAgICB7CisgICAgICB4ZnJlZSAobGlz dFtpXSk7CisgICAgICBpKys7CisgICAgfQorICB4ZnJlZSAobGlzdCk7Cit9 CisKK3N0YXRpYyB2b2lkCitkb19mcmVlX2NvbXBsZXRpb25fbGlzdCAodm9p ZCAqbGlzdCkKK3sKKyAgZnJlZV9jb21wbGV0aW9uX2xpc3QgKGxpc3QpOwor fQorCiAvKiBIZWxwZXIgcm91dGluZSBmb3IgbWFrZV9zeW1ib2xfY29tcGxl dGlvbl9saXN0LiAgKi8KIAogc3RhdGljIGludCByZXR1cm5fdmFsX3NpemU7 CkBAIC0zODEwLDYgKzM4MzAsNyBAQAogICAvKiBMZW5ndGggb2Ygc3ltX3Rl eHQuICAqLwogICBpbnQgc3ltX3RleHRfbGVuOwogICBzdHJ1Y3QgYWRkX25h bWVfZGF0YSBkYXR1bTsKKyAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CiAK ICAgLyogTm93IGxvb2sgZm9yIHRoZSBzeW1ib2wgd2UgYXJlIHN1cHBvc2Vk IHRvIGNvbXBsZXRlIG9uLiAgKi8KICAgewpAQCAtMzg4Niw2ICszOTA3LDcg QEAKICAgcmV0dXJuX3ZhbF9pbmRleCA9IDA7CiAgIHJldHVybl92YWwgPSAo Y2hhciAqKikgeG1hbGxvYyAoKHJldHVybl92YWxfc2l6ZSArIDEpICogc2l6 ZW9mIChjaGFyICopKTsKICAgcmV0dXJuX3ZhbFswXSA9IE5VTEw7CisgIGJh Y2tfdG8gPSBtYWtlX2NsZWFudXAgKGRvX2ZyZWVfY29tcGxldGlvbl9saXN0 LCAmcmV0dXJuX3ZhbCk7CiAKICAgZGF0dW0uc3ltX3RleHQgPSBzeW1fdGV4 dDsKICAgZGF0dW0uc3ltX3RleHRfbGVuID0gc3ltX3RleHRfbGVuOwpAQCAt Mzk5NSw2ICs0MDE3LDcgQEAKICAgICAgIG1hY3JvX2Zvcl9lYWNoIChtYWNy b191c2VyX21hY3JvcywgYWRkX21hY3JvX25hbWUsICZkYXR1bSk7CiAgICAg fQogCisgIGRpc2NhcmRfY2xlYW51cHMgKGJhY2tfdG8pOwogICByZXR1cm4g KHJldHVybl92YWwpOwogfQogCkBAIC00MjQ0LDEyICs0MjY3LDE1IEBACiAg IGNoYXIgKipsaXN0ID0gKGNoYXIgKiopIHhtYWxsb2MgKGxpc3RfYWxsb2Nl ZCAqIHNpemVvZiAoY2hhciAqKSk7CiAgIGNvbnN0IGNoYXIgKmJhc2VfbmFt ZTsKICAgc3RydWN0IGFkZF9wYXJ0aWFsX2ZpbGVuYW1lX2RhdGEgZGF0dW07 CisgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogCiAgIGxpc3RbMF0gPSBO VUxMOwogCiAgIGlmICghaGF2ZV9mdWxsX3N5bWJvbHMgKCkgJiYgIWhhdmVf cGFydGlhbF9zeW1ib2xzICgpKQogICAgIHJldHVybiBsaXN0OwogCisgIGJh Y2tfdG8gPSBtYWtlX2NsZWFudXAgKGRvX2ZyZWVfY29tcGxldGlvbl9saXN0 LCAmbGlzdCk7CisKICAgQUxMX1NZTVRBQlMgKG9iamZpbGUsIHMpCiAgICAg ewogICAgICAgaWYgKG5vdF9pbnRlcmVzdGluZ19mbmFtZSAocy0+ZmlsZW5h bWUpKQpAQCAtNDI4NSw2ICs0MzExLDcgQEAKICAgZGF0dW0ubGlzdF91c2Vk ID0gJmxpc3RfdXNlZDsKICAgZGF0dW0ubGlzdF9hbGxvY2VkID0gJmxpc3Rf YWxsb2NlZDsKICAgbWFwX3BhcnRpYWxfc3ltYm9sX2ZpbGVuYW1lcyAobWF5 YmVfYWRkX3BhcnRpYWxfc3ltdGFiX2ZpbGVuYW1lLCAmZGF0dW0pOworICBk aXNjYXJkX2NsZWFudXBzIChiYWNrX3RvKTsKIAogICByZXR1cm4gbGlzdDsK IH0K --0016368e1eaadea23904b04d2d64--