Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15403

Re: Some questions about the use of readline()

Path csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: Some questions about the use of readline()
Date Sun, 22 Sep 2019 14:45:10 -0400
Organization ITS, Case Western Reserve University
Lines 29
Approved bug-bash@gnu.org
Message-ID <mailman.807.1569177936.2190.bug-bash@gnu.org> (permalink)
References <CACDGAZVP+7KthNJHBDHOaxfaZnXT2h70+1Yzm3zfNGQC9T47sA@mail.gmail.com> <4c861134-4b54-0c20-d1ba-f113b7638c65@case.edu>
Reply-To chet.ramey@case.edu
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1569177936 15922 209.51.188.17 (22 Sep 2019 18:45:36 GMT)
X-Complaints-To action@cs.stanford.edu
Cc chet.ramey@case.edu
To Aust zhu <austzhu119@gmail.com>, bug-bash@gnu.org
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1569177933; bh=SSiTAEPBb+RHqwFclWp87gpL5ejbw9gzbgrEGsEi4WM=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=I0Bt0G1uUr03XlVTDdvz9FZKPeHaZt+vVu9J4Bj/fsEF51KhezJ2lb9Gu7osRqDCqS 3BRuJnSTjuwu6xb0cSodTtxbdWicRdve9ZKEtn7ocsjh8oQlJ9WiFp82b7FiG7FbNgk mj2O5g8qB70K+eHEFZmoE6hsv9M2D98qOfJmOkBgWbHm92Bh9CMyprtrEMQJag1RAhB LkS49GV2z99ExiQfTMLH41ivLGMoJ7/96sUyWg6jfS/iSsbPEhLu8LgrzX2ZaUSx9bG zacFVw4GGWPHovggmuPPZSv42UOLsIcJx2O0kDS94GsK9F12J4fYn9n1jKCuWGvso9H 8t2cADdA==
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1569177913; bh=mx9501kmRhYjSw3A+uc/fxsCSSat3BdEEDSjQL96Wn8=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=wDm67viPKm2wdcq8iKON3VSo3n682NwgU8RnfKnLOTD31ouFYUW6XGKBVAp+cotsCB PeSlnhYwQFx2VaPvlSNj3mRGKII+mZ/BsRAUnkm3eB1G4SBdBvuldMY3EyiqZuayVzx xW7mprHoBzi0k+lm59FdUK3gL4km83YjvLiIFERiyaP2ZGkoXl9TS+1HSmMMhB8iaSI vRHVXxOgVeWjNIK1gglP97fBLAXV7UKUd6WBU426ygqX5UPfyJ7UMzX2j4FmJIzRxfZ HvRqGwWqNLAbvnidcCfeNNEyuZBRUWXoO+q36wblv340x8JFtGfkB4/s6dlXdhvikbo aLYtX+HQ==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:cc:subject:to:references:from:openpgp :autocrypt:organization:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=mx9501kmRhYjSw3A+uc/fxsCSSat3BdEEDSjQL96Wn8=; b=FC4ly8if57kqb78j55JzrYzaK7B+R0snJoApaaylp85o8ha8QDI72XH5E5xFVVVPeV AjvEGMeybMqK8bGMlSYtAkaP2RjpDCnLsQWUuSIWLgJHSgphrxrFknydysm8OsJh7Te5 Z4q4xQuLkRiXcCDI10FHVW/t1nTwHjyrkvSImybp7/bU76o3u/EfHIbiHtajCsKZW3n3 hY9q3vYn4NbZwKttu8QbuYzhV2vXpAlCXU6fWrfIpcNpiD82Kufw2FAYUtdIr2lDayPt n7BzvA7A0GtzSWDU0MoNbvGz/0+qKv2G3re1VZnEiOvDLLscmZj/NSSKYXNBjU1Znpry neKg==
X-Gm-Message-State APjAAAUfzOZE5ZCB8tHP44tgRrJLeFulhuTmOx/xOAqpQ2JA+4iSReZp MetrAH6U2m9bI/P4v/uBFeOtXU21NhnPggCL73QMVl4GqFy96EA6ht/H7CZFaNGSBiRq66B0h96 Y8FG3DD/GLTI=
X-Received by 2002:a37:6483:: with SMTP id y125mr13717800qkb.255.1569177912772; Sun, 22 Sep 2019 11:45:12 -0700 (PDT)
X-Google-Smtp-Source APXvYqyfRpwPBdyDuOfcURNF3ENpP/ecKiQ46c2oNhuQR3N4bgZpIUvCyE4Q7UBRCFfBa31sYjBQUA==
X-Received by 2002:a37:6483:: with SMTP id y125mr13717791qkb.255.1569177912571; Sun, 22 Sep 2019 11:45:12 -0700 (PDT)
Openpgp preference=signencrypt
Autocrypt addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= mQGiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJLQwQ2hldCBSYW1l eSAoQ2FzZSBzdGFuZGFyZCkgPGNoZXQucmFtZXlAY2FzZS5lZHU+iF8EExECAB8FAkPi19EC GwMHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJELtYafBk6nSrelkAn31Gsuib7GcCZHbv5L5t VKYR9LklAJ4hzUHKA49Z0QXR+qCb80osIcmPSbkBDQRBDrBvEAQAkK6TAOKBEM+EC4j6V/7o /riVZqcgU5cid2qG9TXdwNtD9a3kvA/ObZBO93sX59wc6Bnwo4VJxsOmMlpGrAjJsxNwg3QH akEtf8LXRbVpj5xStdmBdQZUhIQyalo/2/TZq5OijtddUQcL5cs70hTv/FpT3wUvr2Xr8rjF 41IFEz8AAwcD/A0CZEGlzIrT5WCBnl6xBog/8vKiUCbarByat3d1mL6DbizvKNXQRTC9E/vE dENAWCQCjr75Bu55xT8n3SXGtWdDC5xmZ/P3OBYORP8yl8H8I1FIosWOFirbIeYdZPq8SPD1 HL+EXo9zSiHVrrZRJ19ooCKKbSdXHFCY+aJG+0KZiEkEGBECAAkFAkEOsG8CGwwACgkQu1hp 8GTqdKvjcACfZlkVCDwaz/NTO9cy3t69oWpVPNwAnRwe0qk/WL/gfhH346xh5B3HFbFN
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
In-Reply-To <CACDGAZVP+7KthNJHBDHOaxfaZnXT2h70+1Yzm3zfNGQC9T47sA@mail.gmail.com>
Content-Language en-US
X-Junkmail-Status score=7/90, host=mpv4-2015.case.edu
X-Junkmail-PrAS-Raw score=7/90, refid=2.7.2:2019.9.22.182417:17:7.944, ip=, rules=__YOUTUBE_RCVD, DKIM_SIGNATURE, __X_GOOGLE_DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __TO_MALFORMED_2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_WITH_PATH, __URI_NO_WWW, __CP_URI_IN_BODY, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, BODY_SIZE_1100_1199, BODYTEXTP_SIZE_3000_LESS, __MIME_TEXT_P1, __MIME_TEXT_ONLY, __URI_NS, HTML_00_01, HTML_00_10, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic]
X-Received-From 129.22.103.195
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <https://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
X-Mailman-Original-Message-ID <4c861134-4b54-0c20-d1ba-f113b7638c65@case.edu>
X-Mailman-Original-References <CACDGAZVP+7KthNJHBDHOaxfaZnXT2h70+1Yzm3zfNGQC9T47sA@mail.gmail.com>
Xref csiph.com gnu.bash.bug:15403

Show key headers only | View raw


On 9/21/19 11:23 AM, Aust zhu wrote:
> Hello!
>     I am having some problems with readline().  When calling the readline()
> function it is blocked. I want to set a timeout for the readline function
> to return.

You don't post any code, but I assume you're using a signal handler for
SIGALRM.

>     I tried setting rl_done=1, and fprintf(rl_instream,"\r\n");
> fflush(rl_instream); can't make the readline() function return. What should
> I do to make the readline() function return?

SIGALRM is one of the signals readline handles, so it will resume whatever
it was doing (presumably reading a character) if the calling application's
signal handler returns.

You can use rl_signal_event_hook or some other mechnanism to longjmp back
to readline's caller, once your signal handler notes that your application
received the SIGALRM. That's how bash implements read builtin timeouts in
the presence of `read -e'.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: Some questions about the use of readline() Chet Ramey <chet.ramey@case.edu> - 2019-09-22 14:45 -0400

csiph-web