I think we have had a number patches that tried to remove the shell form the 
spawned command on linux and windows.

I am personally for it, given we have some way to do it when we do need the 
shell.

Anatoly?

Do you think this might be a good place to tweak up your subprocess code? I 
would be happy to try it out in Parts as a replacement to the normal 
subprocess. If it can pass the needs we have for our build at Intel, I think it 
would help validate what you are trying to do with it. I know that if there are 
issues we could work on fixing it easily enough.

Jason

From: scons-dev-boun...@scons.org [mailto:scons-dev-boun...@scons.org] On 
Behalf Of Gary Oberbrunner
Sent: Wednesday, April 02, 2014 9:32 AM
To: Tom Tanner; SCons developer list
Subject: Re: [Scons-dev] Subprocess issue on Linux?


On Wed, Apr 2, 2014 at 4:16 AM, Tom Tanner (BLOOMBERG/ LONDON) 
<ttann...@bloomberg.net<mailto:ttann...@bloomberg.net>> wrote:
If you pass an array [ 'prog', '$TARGET', '$SOURCE' ] it doesn't execute a 
shell. Otherwise (passing a single string), it will examine for special 
characters, and if none are found it will split on white space and execute 
that, or it will pass that line to the shell.

NB Yes, I realise this will potentially break things, but why execute a shell 
if you don't have to?

I don't think this would break anything.  If the command has no shell metachars 
(and we can be quite conservative about that), then executing it directly vs. 
via a shell will be exactly the same, except for not needing intervening shell 
process.  In fact I thought SCons did this, many years ago.  I must be thinking 
of Perl though. :-)  This technique can also be used if a list is passed in; 
just check each word for shell metachars.

--
Gary
_______________________________________________
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to