The new std.process is ready for review

Lars T. Kyllingstad public at kyllingen.net
Thu Mar 14 14:51:36 PDT 2013


On Thursday, 14 March 2013 at 20:34:11 UTC, Steven Schveighoffer 
wrote:
> On Thu, 14 Mar 2013 16:20:24 -0400, Lars T. Kyllingstad 
> <public at kyllingen.net> wrote:
>
>> The more I think about this, the more it seems like a good 
>> idea:
>>
>> [...]
>>
>> Looks good?
>
> Looks good.
>
> Part of me thinks you shouldn't have to specify environment in 
> order to specify redirects, but I don't know how that works 
> with the overloads.  I know File is a struct, so it shouldn't 
> bind to null, right?

No, there won't be any problem with adding overloads with and 
without environment, but then there'll be six spawnProcess() 
versions.  We have to weigh that against the user having to 
explicitly specify a null when they don't want to add to the 
environment, but still want redirects.  I don't know which is 
worse.  I don't think this is too bad, though:

   auto p = spawnProcess("myapp", null, File("input.txt"));


> By "AA should be merged with the parent's environment or not, 
> with the former being the default", I'm assuming the "set" flag 
> will mean "don't inherit".  What name do you have in mind?  
> Since we already have dontDoTheCloseThing, I think 
> dontDoTheEnvironmentInheritThing would be good ;)
>
> I know it's bikeshedding, but negative flags are awful, we 
> should come up with positive ones.  ignoreParentEnv?

Now that the big pieces are seemingly falling into place, it is 
probably time for bikeshedding.  I was thinking clearEnv or 
newEnv, but ignoreParentEnv is perhaps more explicit.

Speaking of negative flags, do you have better suggestions for 
the Config.noCloseStd... ones?

dontDoTheCloseThing became inheritFDs, btw. :)  Also open for 
suggestions on that one.

Lars


More information about the Digitalmars-d mailing list