From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from endymion.arp.harvard.edu (endymion.arp.harvard.edu [140.247.179.94]) by sourceware.org (Postfix) with ESMTPS id A2023395C86B for ; Thu, 12 Mar 2020 01:08:03 +0000 (GMT) Received: from [192.168.7.23] (pool-74-104-152-231.bstnma.fios.verizon.net [74.104.152.231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by endymion.arp.harvard.edu (Postfix) with ESMTPSA id 374B36C04C2; Wed, 11 Mar 2020 21:08:03 -0400 (EDT) Subject: Re: Setting termios VMIN > 0 and VTIME > 0 on non blocking file To: =?UTF-8?Q?=c3=85ke_Rehnman?= , cygwin@cygwin.com References: <9e4c6428-59de-df07-9e33-44ba95d5497f@gmail.com> <5be321d9-10c2-0853-b716-2abd10a4db3a@SystematicSw.ab.ca> <5541b350-9992-a0cf-ca77-43a0df83c0a8@gmail.com> From: Norton Allen Message-ID: Date: Wed, 11 Mar 2020 21:08:03 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <5541b350-9992-a0cf-ca77-43a0df83c0a8@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00, GARBLED_BODY, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 01:08:04 -0000 On 3/11/2020 9:04 PM, Åke Rehnman via Cygwin wrote: > > On 2020-03-11 22:55, Brian Inglis wrote: >> VMIN > 0 || VTIME > 0 implies blocking; O_NONBLOCK implies SIGIO >> delivery; see: >>     https://www.tldp.org/HOWTO/pdf/Serial-Programming-HOWTO.pdf >>     https://www.cmrr.umn.edu/~strupp/serial.html >>     https://en.wikibooks.org/wiki/Serial_Programming/termios >> >> also read the man pages carefully and *assume* nothing; functions >> should work >> *exactly* as documented: there be dragons! >> > According to https://www.cmrr.umn.edu/~strupp/serial.html "*Timeouts > are ignored in canonical input mode or when the/NDELAY/option is set > on the file via/open/or/fcntl/."* > > This leads me to believe the current cygwin implementation is not > correct. Changing the VMIN and VTIME should have no effect on the > read() behavior if the file was opened with O_NOBLOCK. > ** Correct me if I am wrong, but O_NDELAY is not the same as O_NONBLOCK