errno.h: ESTRPIPE

Christopher Faylor
Fri Mar 13 21:48:00 GMT 2009

On Fri, Mar 13, 2009 at 09:59:49PM +0100, Corinna Vinschen wrote:
>On Mar 13 10:50, Christopher Faylor wrote:
>> On Fri, Mar 13, 2009 at 06:10:48AM -0600, Warren Young wrote:
>> > Corinna Vinschen wrote:
>> >> This is very Linux device specific and this never occurs on Cygwin.
>> >> What about just defining this error code to some arbitrary value like
>> >>   #ifdef __CYGWIN__
>> >>   #define ESTRPIPE 9999
>> >>   #endif
>> >
>> > I like it.  If there are any other errno constants supported by Linux but 
>> > not Cygwin, you could also define them with the same value.  It would 
>> > effectively be the "this never happens" value.
>> I'm not sure that you got this but I think Corinna was suggesting that
>> this should be defined in the code in question rather than in Cygwin
>> itself.
>> I don't have a problem defining unique errnos that currently never
>> happen if it makes Cygwin more compatible with Linux.  I just think that
>> the value should be marked as
>> /* Linux compatibility: this currently can never happen */
>Hmm, this doesn't make much sense in the newlib errno.h.  We already
>have a couple of errnos which are not generated by Cygwin without such
>a comment.

I was just trying optimistically to avoid the mailing list email
wondering why the errno wasn't being generated.

>>Yaakov's intent was to reduce the amount of special casing required
>>when porting to Cygwin to remove the need to do #ifdef __CYGWIN__'s.  I
>>think he knows that he could have ifdef'ed this since I suspect that
>>he's had to do that many times in the past.
>>Defining a unique value means that, if we do decide at some point to
>>add functionality which utilizes that errno there will be no need to
>>recompile the application.
>That's quite a good argument.  If you both think it's a good idea to
>define this new errno, I'm fine with it, too.

I was wondering if we should add a conditionalized "#include
<cygwin/errno.h>" to newlib's errno.h.  Then we could add things without
littering the file with #ifdef CYGWIN's.


More information about the Cygwin-patches mailing list