This is the mail archive of the
mailing list for the GCC project.
RE: Problem with pex-win32.c
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: "'Ross Ridge'" <rridge at csclub dot uwaterloo dot ca>, <gcc at gcc dot gnu dot org>
- Date: Tue, 14 Mar 2006 19:05:21 -0000
- Subject: RE: Problem with pex-win32.c
On 14 March 2006 18:52, Ross Ridge wrote:
>> Here is a sample program which does the right thing (no spurious console
>> windows, all output visible) when run either from a console or from a
>> console-free environment, such as a Cygwin xterm. This is the code
>> we'll be working into libiberty -- unless someone has a better solution!
> The potential problem I see is in all the code you haven't written yet.
> There's a fair amount of work that the MSVCRT library does that isn't
> reflected in your code, like PATH searching, adding filename suffixes
> (eg. ".EXE"), and converting the argv array into a command tail.
I don't understand why you think Mark's code needs to search the PATH or
append '.exe', when it invokes CreateProcess that does all that for you?
> Is this really worth it? Could this whole problem be solved by you
> switching to rxvt? Maybe the only problem is that your xterm is broken.
Nothing is "broken". The problem is that Cygwin applications run in a
slightly special environment, where there may not be a console attached to the
shell window. This is not a problem for cygwin apps, but it can be for
non-cygwin-aware apps launched from inside cygwin's 'special' environment that
may assume that the standard win32 assumptions hold. This is a consequence of
cygwin providing features over and above the underlying OS: software written
for the underlying OS can't be aware of every possible OS extension.
Can't think of a witty .sigline today....