From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 126253 invoked by alias); 20 Feb 2017 22:52:37 -0000 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 Received: (qmail 126238 invoked by uid 89); 20 Feb 2017 22:52:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-22.3 required=5.0 tests=AWL,BAYES_20,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=H*F:D*nz, H*F:D*co.nz, gareth, Gareth X-HELO: mail-ua0-f176.google.com Received: from mail-ua0-f176.google.com (HELO mail-ua0-f176.google.com) (209.85.217.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 20 Feb 2017 22:52:34 +0000 Received: by mail-ua0-f176.google.com with SMTP id 35so73679782uak.1 for ; Mon, 20 Feb 2017 14:52:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=qmj9GLhvaiB1mHO4OmZpBSkl1QrFXD5ryyeoWjmsZ2A=; b=DGAFGoyJzT0KFUTdIzliyw9ByT8UJovT3lKK475v0160zwnz1g9O1deeKfuehq6Xaf D8hvIKDp+ipKCQ8vudpyZGhYcZ6I+dQgxwgX8xLeD+4tR0ozq/lVobNPG9hh6zlgejZ9 YhMwfQseoRww1IpXlc02PhoLJ8z7HNWk0qfcmTUyQdIpNm/f/1uGFUA9zdhPm+RsoF6u Abe6B3NU0OwvmgesQ3U3VVFPPQ7VN72eCcHXwjYM71rsKidfn0jpJLxYH6B0eqZv9K1a oW0xmqYet5YSoba82BrLln7SmT+0zdYW1ArBzCQqOKXFB/4pqe/5Gp1bjyA+0YqM8Z9S RqcA== X-Gm-Message-State: AMke39megXOzc7gJGfMHBf7eFdZk4tq9orIOeOqtWvH3OZtOw8jyD+cmCXvw7hn2/PYqf/VB3sfZnTE60yxFig== X-Received: by 10.159.49.66 with SMTP id n2mr12674051uab.72.1487631152234; Mon, 20 Feb 2017 14:52:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.31.94.212 with HTTP; Mon, 20 Feb 2017 14:52:11 -0800 (PST) From: Gareth McMullin Date: Mon, 20 Feb 2017 22:52:00 -0000 Message-ID: Subject: [PATCH] PR remote/21188: Fix remote serial timeout To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=f403045e2fee645b200548fe1e35 X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00560.txt.bz2 --f403045e2fee645b200548fe1e35 Content-Type: text/plain; charset=UTF-8 Content-length: 516 The timeout mechanism in ser-unix.c was changed in commit 048094acc. In do_hardwire_readchar(), the required timeout is broken into 1 second intervals and wait_for() is called. Before, wait_for() set VTIME and VMIN so the read would block, but now it uses select() to block for the specified timeout. If wait_for() returns SERIAL_TIMEOUT, do_hardwire_readchar() returns immediately, so the timeout is always only 1s. The attached patch will repeatedly call wait_for() until the full timeout has elapsed. Gareth --f403045e2fee645b200548fe1e35 Content-Type: text/x-patch; charset=US-ASCII; name="serial_timeout.patch" Content-Disposition: attachment; filename="serial_timeout.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_izep1mek0 Content-length: 1818 MjAxNy0wMi0yMSBHYXJldGggTWNNdWxsaW4gIDxnYXJldGhAYmxhY2tzcGhl cmUuY28ubno+CgoJUFIgcmVtb3RlLzIxMTg4CgkqIHNlci11bml4LmMgKGRv X2hhcmR3aXJlX3JlYWRjaGFyKTogV2FpdCBmb3IgZnVsbCB0aW1lb3V0IHRv IGVsYXBzZS4KCmRpZmYgLS1naXQgYS9nZGIvc2VyLXVuaXguYyBiL2dkYi9z ZXItdW5peC5jCmluZGV4IGI5ZTU1ZjAuLjBhNzQ2NzIgMTAwNjQ0Ci0tLSBh L2dkYi9zZXItdW5peC5jCisrKyBiL2dkYi9zZXItdW5peC5jCkBAIC01NDks NiArNTQ5LDE4IEBAIGRvX2hhcmR3aXJlX3JlYWRjaGFyIChzdHJ1Y3Qgc2Vy aWFsICpzY2IsIGludCB0aW1lb3V0KQogICAgICAgc2NiLT50aW1lb3V0X3Jl bWFpbmluZyA9ICh0aW1lb3V0IDwgMCA/IHRpbWVvdXQgOiB0aW1lb3V0IC0g ZGVsdGEpOwogICAgICAgc3RhdHVzID0gd2FpdF9mb3IgKHNjYiwgZGVsdGEp OwoKKyAgICAgIGlmIChzdGF0dXMgPT0gU0VSSUFMX1RJTUVPVVQpIHsKKwlp ZiAoc2NiLT50aW1lb3V0X3JlbWFpbmluZyA+IDApCisJICB7CisJICAgIHRp bWVvdXQgPSBzY2ItPnRpbWVvdXRfcmVtYWluaW5nOworCSAgICBjb250aW51 ZTsKKwkgIH0KKwkgIGVsc2UgaWYgKHNjYi0+dGltZW91dF9yZW1haW5pbmcg PCAwKQorCSAgICBjb250aW51ZTsKKwkgIGVsc2UKKwkgICAgcmV0dXJuIFNF UklBTF9USU1FT1VUOworICAgICAgfQorCiAgICAgICBpZiAoc3RhdHVzIDwg MCkKIAlyZXR1cm4gc3RhdHVzOwoKQEAgLTU1NiwyMSArNTY4LDcgQEAgZG9f aGFyZHdpcmVfcmVhZGNoYXIgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50IHRp bWVvdXQpCgogICAgICAgaWYgKHN0YXR1cyA8PSAwKQogCXsKLQkgIGlmIChz dGF0dXMgPT0gMCkKLQkgICAgewotCSAgICAgIC8qIFplcm8gY2hhcmFjdGVy cyBtZWFucyB0aW1lb3V0IChpdCBjb3VsZCBhbHNvIGJlIEVPRiwgYnV0Ci0J ICAgICAgICAgd2UgZG9uJ3QgKHlldCBhdCBsZWFzdCkgZGlzdGluZ3Vpc2gp LiAgKi8KLQkgICAgICBpZiAoc2NiLT50aW1lb3V0X3JlbWFpbmluZyA+IDAp Ci0JCXsKLQkJICB0aW1lb3V0ID0gc2NiLT50aW1lb3V0X3JlbWFpbmluZzsK LQkJICBjb250aW51ZTsKLQkJfQotCSAgICAgIGVsc2UgaWYgKHNjYi0+dGlt ZW91dF9yZW1haW5pbmcgPCAwKQotCQljb250aW51ZTsKLQkgICAgICBlbHNl Ci0JCXJldHVybiBTRVJJQUxfVElNRU9VVDsKLQkgICAgfQotCSAgZWxzZSBp ZiAoZXJybm8gPT0gRUlOVFIpCisJICBpZiAoZXJybm8gPT0gRUlOVFIpCiAJ ICAgIGNvbnRpbnVlOwogCSAgZWxzZQogCSAgICByZXR1cm4gU0VSSUFMX0VS Uk9SOwkvKiBHb3QgYW4gZXJyb3IgZnJvbSByZWFkLiAgKi8K --f403045e2fee645b200548fe1e35--