Re: execv bug???
Re: execv bug???
- Subject: Re: execv bug???
- From: Tommy Nordgren <email@hidden>
- Date: Sun, 27 Jan 2008 16:07:25 +0100
If you want a call that uses the PATH environment variable you should
use execvp instead of execv
Actually, I'ts preferable to use a call that Don't use the PATH
environment variable, and specify the absolute path
of the executable instead.
On 27 jan 2008, at 07.12, Steve wrote:
Have a well known program, qmail, compiled on Leopard. We've used it
for 3 years or so on Mac Tiger et al.
qmail runs on most any platform out there. In the code, are the
following lines:
if (chdir(auto_qmail) == -1) _exit(61);
execv(*binqqargs,binqqargs);
_exit(120);
binqqargs is defined as:
static char *binqqargs[2] = { 0, 0 } ;
Later it is set as:
binqqargs[0] = "bin/qmail-queue";
auto_qmail contains the path /var/qmail
So, the chdir on all other platforms goes to /var/qmail, and, the
execv executes from there bin/qmail-queue.
The execv (added more code) returns an error 2, or, file not found
on Leopard.
It works perfectly on Tiger, freeBSD, you name it.
If I change binqqargs to /var/qmail/bin/qmail-queue, all works fine.
Could it be a bug in execv on Leoprd when when not using a absolute
filename? If so, what is the mechanism to report and hopefully some
day get it fixed?
Steve
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
-----------------------------------
See the amazing new SF reel: Invasion of the man eating cucumbers from
outer space.
On congratulations for a fantastic parody, the producer replies :
"What parody?"
Tommy Nordgren
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden