On Thu, Sep 10, 2015 at 10:56 PM, Phil Blundell <pb@pbcl.net> wrote:
On Thu, 2015-09-10 at 19:35 +0430, Navid Rahimi wrote:
I think our main objection here is to avoid forking when there is no
file.There is so many other variable for checking if execve is going to
success or not.
On the other hand, your patch will add an extra system call and
directory lookup to every successful posix_spawn() call, i.e. you are
optimising the failure case at the expense of the successful case. It's
not at all obvious to me that this is a sensible thing to do. Can you
explain your reasoning in a bit more detail?
p.
I agree with you completely about overhead and extra syscall , but
there is no other option if we want to check fork. About optimizing
failure case , I would not call it optimizing , I returning correct
error code and correct answer to caller at expense of one extra
syscall overhead . Perfect Abstraction I think is the most priority of
every project.Adding extra syscall will have overhead , but without
that we are not reporting status correctly to caller.