Re: [OT] 'volatile' in userspace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jan Engelhardt wrote:
What's wrong with _exit(exec() == -1 ? 0 : errno);
and picking up the status with wait(2) ?


The exec'd application may return regular error codes, which would interfere. IIRC /usr/sbin/useradd has different exit codes depending on what failed (providing some option, failure to create account, failure to create home dir, etc.). Now if you exit(errno) instead, you have an overlap.

You're right. Maybe you could return -ve or with a high bit set,
but I guess you may not know what the app will return.

But I don't see how the volatile or pipe solutions are any better
though: it would seem that both result in undefined behaviour
according to my vfork man page. At least the wait() solution is
defined (and workable, if you know what the target might return).

And your code is somewhat wrong. Given that exec() would stand for execve(someprogram_and_args_here), if it returned -1 you would return 0, indicating success. Can't be. And if exec() does not return -1, which it never should, you return errno, which never reaches anyone.

Yeah, thinko.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux