This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] [BZ #18433] Check file access/existence before forking.
- From: navid Rahimi <rahimi dot nv at gmail dot com>
- To: Phil Blundell <pb at pbcl dot net>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 11 Sep 2015 02:15:20 +0430
- Subject: Re: [PATCH] [BZ #18433] Check file access/existence before forking.
- Authentication-results: sourceware.org; auth=none
- References: <55F19819 dot 3010601 at gmail dot com> <55F19B66 dot 9050001 at arm dot com> <55F19C50 dot 3010502 at gmail dot com> <1441909606 dot 2948 dot 25 dot camel at pbcl dot net>
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.