[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix output-sync option on EMX
From: |
Pavel Fedin |
Subject: |
Re: [PATCH] Fix output-sync option on EMX |
Date: |
Wed, 15 Jan 2014 00:38:21 +0400 |
Hello, Eli.
Tuesday, January 14, 2014, 22:50:28 you wrote:
> The part you replaced with "..." sounds like an important qualifier to
> me.
> I also have hard time believing that these 4 lines is all it takes to
> support output-sync on EMX.
If you remember my original spawn-patch, all it does is replacing
#ifdef __EMX__ with #if defined __EMX__ || defined __CYGWIN__
consequently, Cygwin version of Make starts behaving in the same way
as it would on EMX (well, except shell simulation magic).
With old spawn-patch make v4 perfectly worked except it failed
output-sync test. I have examined related changes and found out that
fork()-based code performs output redirection, and spawn() version
simply forgets doing it.
So, i have moved this fragment out of #ifdef's, and everything worked
like a charm.
> Finally, if that is indeed what EMX needs to support output-sync, that
> should be tested in the EMX build, not in a Cygwin build.
There is a little problem with this. It looks like nobody in the
world uses OS/2 any more. At least for compiling something.
My concerns are:
1. EMX is actually a POSIX environment for OS/2.
2. Cygwin is a POSIX environment for Windows.
3. Cygwin is (well, nearly) 100% compatible with EMX because both
Cygwin and EMX implement spawn() semantics.
Consequently, if something works on Cygwin, it will work on EMX. Make
does not use anything else additional except spawn() on these two
environments.
And anoher concern: despite we do not have possibility to test EMX
build, this way we can test its supposed functionality on Cygwin,
which is quite close. Isn't it better than just letting EMX version to
bitrot and die ?
And one more: if you take a look at the code, this is the only code
fragment related to output-sync which falls under any OS-specific
#ifdef's. The rest is pretty generic.
P.S. This '...' actually reads "spawn()-based flavours (currently
only EMX)'. So nothing additional.
--
С уважением,
Pavel mailto:address@hidden