Part of the problem is that, as Alexey says, the first element of argv is
just whatever is passed to exec, which is not guaranteed to be a complete
That's true even for regular fork/exec.
-----Original message-----
From: Richard O'Keefe
To: wren ng thornton
Cc: haskell-cafe
Sent: Sun, Dec 4, 2011 15:54:15 PST
Subject: Re: [Haskell-cafe] How to get a file path to the program invoked?
On 4/12/2011, at 7:32 PM, wren ng thornton wrote:
path, a canonical path, or any other specific thing we'd desire. It's not at
all straightforward to determine the actual location of the executable,
especially not in a platform-independent manner. argv[0] can't be trusted,
scanning through $PATH isn't guaranteed to find it (and even if you find
something of the right name, it's not guaranteed to be the correct
executable), etc etc.
In particular, with posix_spawnp(), the $PATH that is used to find the
executable
and the $PATH in the environment that the executable starts with can be two
different things.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe