From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Questions about throw-on-input Date: Mon, 11 May 2020 13:27:05 -0400 Message-ID: References: <1f5456b9-1fd6-5084-1578-8f6a413fe1b4@web.de> <834ksmd0fr.fsf@gnu.org> <83d07abg0v.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="62766"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: alexanderm@web.de, yyoncho@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 11 19:27:56 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jYCDa-000GBi-SR for ged-emacs-devel@m.gmane-mx.org; Mon, 11 May 2020 19:27:54 +0200 Original-Received: from localhost ([::1]:33912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYCDZ-00053f-U1 for ged-emacs-devel@m.gmane-mx.org; Mon, 11 May 2020 13:27:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYCCw-0004dX-Oy for emacs-devel@gnu.org; Mon, 11 May 2020 13:27:14 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64806) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYCCv-00074A-Oq; Mon, 11 May 2020 13:27:14 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 1F9431001D2; Mon, 11 May 2020 13:27:12 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 48032100447; Mon, 11 May 2020 13:27:06 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1589218026; bh=9xIXiKp46lZXTzwM49wfVu7tYj05tgu/bmWdOx7k4B0=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=i7VD3uPMAbqpFuiVhed+D8A7ihTpRa7N+BApNinAIxt9J9L4jFsdbXxH3hjPQtfiw T4hx2KlyCwWYrDB4faRcn4Y/LZG6JL/FHQNyMaSApfgGRzya4V/HJChA/y7uUAjpSv G9XV7X0/cjoInH/R72GrqoAkhbRajhDquahVtzkqrS/GQq2TfWPncMVt8R6d2VHMn5 nBghneSE9cizhhOA/3UeyeJWvUHC3BQ3vy7dJN/zJc14Lk4s7r0lR6dBBkJ/Cmq3GG ZovXsotbyXqv6502pl1kRc5d5COz1Lnr6+8vIy8TaKBi0tzxQYKpctdBAhAFPsJYX1 D+TfVGPQtD0AA== Original-Received: from alfajor (unknown [216.154.3.202]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E4B5A120BEB; Mon, 11 May 2020 13:27:05 -0400 (EDT) In-Reply-To: <83d07abg0v.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 11 May 2020 19:19:44 +0300") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/11 10:58:52 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:249839 Archived-At: >> > It is unusual for non-main threads to wait for keyboard input >> > descriptor. You shouldn't rely on that because it can only work very >> > rarely, if at all, and when it does, you are likely to see serious >> > problems. Normally, the 'pselect' call issued by a non-main thread >> > will not mark the keyboard descriptor as being waited for. >> Should input-pending-p and friends catch that case and signal an error, then? > Do we want that? I don't know. But hanging because `select` doesn't return the needed information doesn't seem right either. Maybe rather than signal an error, we should somehow make the main thread run that code, so as to return the right answer? Stefan