delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/01/27/11:25:20

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
To: cygwin AT cygwin DOT com
Subject: Re: read() returns errno == 1 ("Resource temporarily unavailable")
References: <u67snmf5x29 DOT fsf AT rachel DOT hq DOT vtech>
<20010119120952 DOT A7227 AT redhat DOT com> <u67vgrb4bod DOT fsf AT rachel DOT hq DOT vtech>
<20010119143246 DOT F7746 AT redhat DOT com>
From: Jesper Eskilson <jojo AT virtutech DOT se>
Organization: Virtutech AB
Date: 27 Jan 2001 17:24:22 +0100
In-Reply-To: Christopher Faylor's message of "Fri, 19 Jan 2001 14:32:47 -0500"
Message-ID: <u67wvbhnetl.fsf@rachel.hq.vtech>
Lines: 35
User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.2 (Millennium)
MIME-Version: 1.0

Christopher Faylor <cgf AT redhat DOT com> writes:

> On Fri, Jan 19, 2001 at 07:52:18PM +0100, Jesper Eskilson wrote:
> >Christopher Faylor <cygwin AT cygwin DOT com> writes:
> >
> >> errno == 1 is not EAGAIN.  I assume that you mean errno == 11.
> >
> >Of course. My fingers slipped.
> >
> >> Looking at the code for _read, the only time this should be returned is if
> >> you are using a non-blocking read.
> >
> >I'm fairly certain that I'm not.
> 
> Well, since I'm fairly certain that the code is pretty clear and since I
> don't recall anyone else reporting this you're either going to have to
> debug this yourself or provide a very simple test case.

I finally gained some wisdom regarding this. The problem was caused when
accessing a file on a filesystem mounted in text-mode (the file-system was
accesses as //<driveletter>/<path>). By explicitly opening the file with
the O_BINARY flag, the problem went away. I thought I read the section on
text vs. binary files in the manual, but apparently I missed the section on
what happens with "//<driveletter>/".

Now, as I don't like leaving bugs behind without fully understanding why
they disappeared, the natural question is: Since the file-descriptor was
not in non-blocking mode, why did read() return EAGAIN not an EOF?

/Jesper
-- 
-------------------------------------------------------------------------
Jesper Eskilson                                         jojo AT virtutech DOT se
Virtutech                                         http://www.virtutech.se
-------------------------------------------------------------------------


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019