POpen, opening lots of processes
Glynn Clements
glynn.clements at virgin.net
Sat Jan 10 22:18:00 EST 2004
Mark Carroll wrote:
> Your code looks great, but where do you find the library documentation,
> like what the arguments for executeFile are all about? (I'd guessed the
> Maybe thing was an environment, but what's the Bool?) I've been trying to
> do similar stuff, but have been stumbling in the dark rather.
Source code (hslibs/posix/PosixProcPrim.lhs):
executeFile :: FilePath -- Command
-> Bool -- Search PATH?
-> [String] -- Arguments
-> Maybe [(String, String)] -- Environment
-> IO ()
executeFile path search args Nothing = do
[snip]
if search
then throwErrnoIfMinus1_ "executeFile" (c_execvp s arr)
else throwErrnoIfMinus1_ "executeFile" (c_execv s arr)
executeFile path search args (Just env) = do
[snip]
if search
then throwErrnoIfMinus1_ "executeFile" (c_execvpe s arg_arr env_arr)
else throwErrnoIfMinus1_ "executeFile" (c_execve s arg_arr env_arr)
IOW:
search env function
False Nothing execv
True Nothing execvp
False Just _ execve
True Just _ execvpe [*]
[*] execvpe() isn't a standard library function; it is implemented in
hslibs/posix/cbits/execvpe.c using execve().
--
Glynn Clements <glynn.clements at virgin.net>
More information about the Glasgow-haskell-users
mailing list