what happens if

what happens if

Erez D erez0001 at gmail.com
Mon Mar 19 12:22:15 IST 2012


On Mon, Mar 19, 2012 at 12:20 PM, Nadav Har'El <nyh at math.technion.ac.il>wrote:

> On Mon, Mar 19, 2012, Erez D wrote about "Re: what happens if":
> > my reason for fork is only for exec() - to protect the first program from
> > the other.
>
> Then you should be all fine.
>
> > the problem that may arise in forking a multithreaded is that one thread
> > may lock a mutex and then another call for fork, which means that the
> child
> > inherits the locked mutex.
> > i do not know internaly what library function use this mutex, e.g. will
> > close() need this mutex ? will dup() will ? in this case, trying to
> close a
> > side of a pipe, duping it or even closing open fds (for security issues)
> > may hang the child while the library waits for the mutex , and no other
> > thread exists in the child to release it
>
> If you're talking about the C language, you won't have any of these
> problems. System calls like close() or dup() do not use any pthread
> capabilities like mutexes.
>
> If you're talking about a different programming language, I frankly
> have no idea what its fork() does. Maybe you need to write some C
> code that does fork()/exec() in one function call, and avoid this risk.
>
i will be using C++. are you sure this is safe ?

>
> Did actually notice any problem with your code, or is this question
> just theoretical?
>
theoretical

>
> --
> Nadav Har'El                        |                    Monday, Mar 19
> 2012,
> nyh at math.technion.ac.il
> |-----------------------------------------
> Phone +972-523-790466, ICQ 13349191 |If God had intended us to be
> vegetarians,
> http://nadav.harel.org.il           |He wouldn't have made animals out of
> meat
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20120319/eee9c7af/attachment.html>


More information about the Linux-il mailing list