[Scons-dev] Subprocess.popen() on win32?

Jason Kenny dragon512 at live.com
Sun Oct 7 14:25:32 EDT 2018


I can see what I can do here. I have to make a new Drop of Parts first ( having a regression in my code I have to fix )

I don’t believe there should be any limitation. The only issue I believe I had was with moving to python 27 as there was a change from 26 in quote handling. However we are on 2.7 or better so this should not be an issue. Oh there was one other thing. I have to ignore the “escape” function that is passed in the SPAWN callback. It breaks with 2.7 on Window and Linux. I also removed the Scons override for the open call as it was messing up writing to the console device ( Plus I needed to override it to allow symbolic and hard links to work on win32)

Which lead to a question for me on do we have an official way in SCons to get the stdout and stderr text from an Action that was called. I don’t recall having this before and as such I used the SPAWN to help me add logging and colorized text in Parts.

Jason


From: Scons-dev <scons-dev-bounces at scons.org> On Behalf Of Bill Deegan
Sent: Friday, October 5, 2018 12:44 PM
To: SCons developer list <scons-dev at scons.org>
Subject: Re: [Scons-dev] Subprocess.popen() on win32?

Jason,

Any limitations with doing this over the current code?
Could you craft a pull request for this?

-Bill

On Fri, Oct 5, 2018 at 10:37 AM Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>> wrote:
Been using popen with parts via overriding SPAWN var since the start.
+1 on having this be the default
Jason
Get Outlook for Android<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=KcMABMJE2kXb3%2B3UXjnBrUxI%2FR3jFP0D2bI9Nz%2Fzxok%3D&reserved=0>

________________________________
From: Scons-dev <scons-dev-bounces at scons.org<mailto:scons-dev-bounces at scons.org>> on behalf of Bill Deegan <bill at baddogconsulting.com<mailto:bill at baddogconsulting.com>>
Sent: Friday, October 5, 2018 10:32:50 AM
To: SCons developer list
Subject: Re: [Scons-dev] Subprocess.popen() on win32?

Come now.
Win32.py's spawn implementation was updated in 2012.. ;)

If we universally switch to subprocess.Popen(), then we can safely chdir for non python function actions.
But passing in the cwd argument.

That seems likely to be useful..

-Bill


On Fri, Oct 5, 2018 at 10:28 AM Russel Winder <russel at winder.org.uk<mailto:russel at winder.org.uk>> wrote:
I shall be flippant in the hope of being humorous, yet with an element of
possible truth:

Perhaps no-one has bothered to update that bit of code in the last decade and
a half?


Did you mean subprocess.Popen? Worth noting that the API for subprocess
changes from call* in earlier versions to run in later. Somewhat annoying for
compatibility across many Python versions.


On Fri, 2018-10-05 at 10:17 -0700, Bill Deegan wrote:
> Greetings,
>
> Any reason we're not using subprocess.popen() on win32?
> We're still using os.spawnve() which is known to have some threading issues.
> https://bugs.python.org/issue6476<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.python.org%2Fissue6476&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=AENwPEuuQxwDeu%2B7E%2F3%2FPXc%2FEWhsxRyw2271hIBHahY%3D&reserved=0>
>
> -Bill
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org<mailto:Scons-dev at scons.org>
> https://pairlist2.pair.net/mailman/listinfo/scons-dev<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=z%2FSuf5LUUJ3pbmybb105S8AvcZkJzK%2FSZkkLsTegesY%3D&reserved=0>
--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.russel.org.uk&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=Hn8BEc6Et%2BR1W6985Rm8otA0qOUUGJHp5CSTAWYCxJY%3D&reserved=0>

_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org<mailto:Scons-dev at scons.org>
https://pairlist2.pair.net/mailman/listinfo/scons-dev<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376721652&sdata=hDVBgMfE1G31kR%2FYvrk%2F%2BoooYou3IalStr%2B8A%2FzkfwE%3D&reserved=0>
_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org<mailto:Scons-dev at scons.org>
https://pairlist2.pair.net/mailman/listinfo/scons-dev<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376721652&sdata=hDVBgMfE1G31kR%2FYvrk%2F%2BoooYou3IalStr%2B8A%2FzkfwE%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20181007/f2980e34/attachment-0001.html>


More information about the Scons-dev mailing list