X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 138DD385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1693060518; bh=LxkOyaXGUBDlC/mOHWKAIbB6ylMCMRdReHvdIQyIpZI=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=QOikxQzhD2tsBoHj7zBlURo1o2IgVfvkPcZDVMZ1O6pUnrXDBMDo13a3tb8Fh/LJJ OHRyIv5VydLuEd9CQl/zpJfPPhpDrooFOXB78xrFas03DUa5KdP9LsCqITVuc6dHU9 X/VGQp8yb7Tx79r3meUti5ng/r+7HMqpXbcxGP1k= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 39D3F3858C33 Date: Sat, 26 Aug 2023 16:34:39 +0200 To: cygwin AT cygwin DOT com Subject: Re: [EXTERNAL] Re: scp stalls on uploading in cygwin 3.5 current master. Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <20230824123131 DOT 390b4471915c963425c77608 AT nifty DOT ne DOT jp> <20230825174832 DOT 9ebae8112667d5d5411cb8db AT nifty DOT ne DOT jp> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Corinna Vinschen via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Corinna Vinschen Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Aug 26 14:15, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin wrote: > > This thread is not about send() blocking or returning EAGAIN. This > > is about the behaviour of select(2) and poll(2). > > I was merely commenting on your note that if select() returned a socket as > writable, and send() writes more than internally allowed, then send() would block. > It wouldn't! It'd just write the allowable count, and return as a short write, > whether the socket was blocking or not. But that's not the situation here. It's not helpful to get this kind of comment without it actually referring to the context in question. We're coming from a select call which is implemented via Winsock-specific network events. Everything else is a followup and a result of this. > select() and poll() whether I/O would block. By the virtue of this, > a socket, which is in error (except for EAGAIN), is writable exactly > because write()/send() to such a socket would return -1 right away. And that's not the case her either. Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple