Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jun 2005 10:31:41 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Peter Edwards <peadar.edwards@gmail.com>
Cc:        Charles Sprickman <spork@fasttrackmonkey.com>, hackers@freebsd.org, kamalp@acm.org
Subject:   Re: Nagios and threads
Message-ID:  <Pine.GSO.4.43.0506221027490.22792-100000@sea.ntplx.net>
In-Reply-To: <34cb7c8405062207246b582eaf@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 22 Jun 2005, Peter Edwards wrote:

> On 6/22/05, Kamal R. Prasad <kamalpr@yahoo.com> wrote:
> >
> > The child process should be able to call any system
> > calls it likes -without assuming that pthreads from
> > the parent process have been copied over to the child
> > process. I spose most implementations support that.
> >
>
> There's more to it than system calls, though (most (all?) of which
> will be async-signal-safe anyway). Simple example: any lock that the
> libc implementation needs to provide its functionality may be
> arbitrarily locked by some other thread: eg, one thread calls malloc()
> as another calls fork(): the original thread ceases to exist in the
> child while holding a lock in malloc, leaving malloc() unusable in the
> process.

We do protect the malloc lock across a fork(), but that's it.

-- 
DE




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0506221027490.22792-100000>