XEmacs versus Cygwin 3.3 (was Re: Another pipe-related problem?)

Aidan Kehoe kehoea@parhasard.net
Thu Dec 9 08:39:12 GMT 2021

 Ar an t-ochtú lá de mí na Nollaig, scríobh Henry S. Thompson: 

 > [...]  >   #define STRIDE sizeof (STRIDE_TYPE)
 > Ken/Aidan, is it possible that the last line interacts badly with some
 > (stale?) #ifdef code at lines 177 and 190 in sysdep.c [attached for
 > Ken's benefit] in a way that only the new pipe code is sensitive to?

Yes, it’s 100% possible. Until my text.h change, the #if defined (STRIDE)
conditional only applied with some 1980s m68k machines, with AIX, and with
pfa (which is hard to pin down, but is likely a 1980s Unix implementation on
IBM hardware). Now it always applies for non-WIN32-NATIVE builds, and I’m
surprised we haven’t had issues with it on other platforms.

On looking a bit closer we currently set the FD to be non-blocking twice on
Cygwin, which is asking for trouble.

There’s no need for a STRIDE #define anyway, sizeof (STRIDE_TYPE) is
sufficiently general already. I’ll commit a change removing the STRIDE
#define from my code later today, and will probably do a bit of unifdef(1)
work for similar ancient systems too.

Thanks for your careful work on this, Henry!

‘As I sat looking up at the Guinness ad, I could never figure out /
How your man stayed up on the surfboard after forty pints of stout’
(C. Moore)

More information about the Cygwin mailing list