Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Chet Ramey 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: References: <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 , 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <4c861134-4b54-0c20-d1ba-f113b7638c65@case.edu> X-Mailman-Original-References: Xref: csiph.com gnu.bash.bug:15403 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/