Subject: Re: Assume at least POSIX.1-1988 for fcntl.h

From: Eli Zaretskii <[email-masked]>
Date: Thu, 15 Nov 2012 19:42:51 +0200

> Date: Wed, 14 Nov 2012 22:32:07 -0800
> From: Paul Eggert <[email-masked]>
> CC: [email-masked]
> 
> > In several places, it actually changes the code involved
> > in dealing with the related issues.  Here's one example:
> 
> As far as I know, that is the only example involving O_NONBLOCK.
> 
> > Here, the code that was left is identical to the one used by platforms
> > with O_NONBLOCK, but the code used by platforms with O_NDELAY was
> > different in non-trivial ways.
> 
> Do those differences matter for Microsoft platforms?

I don't know, I will have to take a closer look.

> > Another potential problem is that the Windows emulation of fcntl only
> > works for sockets, whereas O_NONBLOCK is now used in other system
> > calls, like in emacs_open etc.
> 
> emacs_open is the only other system call where it's used, and there it's
> used only in code that is "#ifndef DOS_NT", so it should be OK.
> 
> > This patch also modifies code unrelated to O_NONBLOCK, like this one:
> 
> That's OK, as this patch is about all symbols defined by fcntl.h
> in POSIX.1-1988, not just about O_NONBLOCK.

Then perhaps the problem is much smaller than I thought.

> Attached is a revised patch, relative to trunk bzr 110904,
> and with the above extra change.

Thanks, please hold on to it for a few days, until I or someone else
will have time to study it more closely.