Shouldn't System.Process.runInteractiveCommand close inherited descriptors above 2?

Simon Marlow simonmarhaskell at gmail.com
Tue Jun 5 05:38:58 EDT 2007


Tomasz Zielonka wrote:
> On Mon, Jun 04, 2007 at 01:08:11PM -0700, Bryan O'Sullivan wrote:
>> Tomasz Zielonka wrote:
>>
>>> Additionaly, in a complex
>>> application you may want a particular descriptor to be passed through
>>> one exec(), and not passed through another.
>> Well, you have all the building blocks you need to write a function that 
>> will do just that.  It shouldn't take more than a few lines of code.
> 
> You mean using System.Posix?
> 
> Writing our version of runInteractiveProcess in the same way as the
> official one would mean writing much more than a few lines of code.
> The official implementation does much of its work through FFI. I wonder
> why it doesn't use System.Posix more...  Did it lack efficiency or
> functionality?

It really shoud use System.Posix (and System.Win32).  The reason it doesn't is 
because it was in the base package and therefore couldn't depend on the unix 
package, but now System.Process is in a package of its own we can now use the 
unix/Win32 packages and clean up the implementation.

Cheers,
	Simon


More information about the Libraries mailing list