From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: bug#30066: 'get-bytevector-some' returns only 1 byte from unbuffered ports Date: Wed, 10 Jan 2018 18:26:06 +0100 Message-ID: <87bmi1pqvl.fsf@igalia.com> References: <87zi5lrc3x.fsf@gnu.org> <87tvvtr9ge.fsf@gnu.org> <87fu7dptdn.fsf@igalia.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1515605124 23989 195.159.176.226 (10 Jan 2018 17:25:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 10 Jan 2018 17:25:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 30066@debbugs.gnu.org To: Nala Ginrut Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Jan 10 18:25:20 2018 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZK7g-0005Be-IM for guile-bugs@m.gmane.org; Wed, 10 Jan 2018 18:25:08 +0100 Original-Received: from localhost ([::1]:55450 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZK9g-0004a0-8R for guile-bugs@m.gmane.org; Wed, 10 Jan 2018 12:27:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46516) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZK9a-0004Zo-4c for bug-guile@gnu.org; Wed, 10 Jan 2018 12:27:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZK9W-0008Ey-Uf for bug-guile@gnu.org; Wed, 10 Jan 2018 12:27:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43343) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZK9W-0008EN-QY for bug-guile@gnu.org; Wed, 10 Jan 2018 12:27:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eZK9W-0005us-Hy for bug-guile@gnu.org; Wed, 10 Jan 2018 12:27:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andy Wingo Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 10 Jan 2018 17:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30066 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 30066-submit@debbugs.gnu.org id=B30066.151560517822693 (code B ref 30066); Wed, 10 Jan 2018 17:27:02 +0000 Original-Received: (at 30066) by debbugs.gnu.org; 10 Jan 2018 17:26:18 +0000 Original-Received: from localhost ([127.0.0.1]:51240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZK8n-0005tw-Cq for submit@debbugs.gnu.org; Wed, 10 Jan 2018 12:26:18 -0500 Original-Received: from pb-sasl1.pobox.com ([64.147.108.66]:59184 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZK8l-0005tn-2s for 30066@debbugs.gnu.org; Wed, 10 Jan 2018 12:26:15 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id 4D5C5B98C7; Wed, 10 Jan 2018 12:26:14 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=k1N9mLuFfgQJ0sljN65quZ/pkSg=; b=ANEFya Xnw5ZkxXmbzEyUnQ5x1bqE7mVltaxOllW81Yhu0ZIOT8gckg8XkuMO7uzNJpyuA3 6KdwddgL5Wgc3DZhB9s4MHNdwNOoM/MrHMBvHfeF+ITQOiNZJmtbYSbbteyoh2el 8lOuvyEjAotORO1Crb3l03hKDt+XjQvUT4zo0= Original-Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id 459C4B98C6; Wed, 10 Jan 2018 12:26:14 -0500 (EST) Original-Received: from rusty (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl1.pobox.com (Postfix) with ESMTPSA id 7F852B98C5; Wed, 10 Jan 2018 12:26:13 -0500 (EST) In-Reply-To: (Nala Ginrut's message of "Thu, 11 Jan 2018 00:58:31 +0800") X-Pobox-Relay-ID: 5B763796-F62B-11E7-A21E-ABEFD5707B88-02397024!pb-sasl1.pobox.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8955 Archived-At: On Wed 10 Jan 2018 17:58, Nala Ginrut writes: > hi Andy and Ludo! > > What if developers enabled suspendable-ports and set the port to non-blocking? > For example, in the non-blocking asynchronous server, I registered > read/write waiter for suspendable-ports. And save > delimited-continuations then yield the current task. > In this situation, get-bytevector-n! will read n bytes with several > times yielding by the registered read-writer, from the caller's > perspective, get-bytevector-n! will return n bytes finally no matter > how many times it's yielded. > But how about the get-bytevector-some? Should it block just once and > return the first time read m bytes then return? I think this is right. At most one block. FWIW we'd need to add support for get-bytevector-some to (ice-9 suspendable-ports) to get this to work. Andy