Re: request for help
- From: christophe barbé <christophe barbe lineo fr>
- To: Brian Stafford <brian stafford uklinux net>
- Cc: Pawel Salek <pawsa theochem kth se>,balsa mailing-list <balsa-list gnome org>
- Subject: Re: request for help
- Date: Tue, 21 Aug 2001 12:10:25 +0200
Le mar, 21 aoû 2001 12:06:19, Brian Stafford a écrit :
> I remembered the name of the function: its pthread_atfork().
>
> >From "man pthread_atfork"
>
> To understand the purpose of pthread_atfork, recall that
> fork(2) duplicates the whole memory space, including
> mutexes in their current locking state, but only the call
> ing thread: other threads are not running in the child
> process. Thus, if a mutex is locked by a thread other than
> the thread calling fork, that mutex will remain locked
> forever in the child process, possibly blocking the execu
> tion of the child process. To avoid this, install handlers
> with pthread_atfork as follows: the prepare handler locks
> the global mutexes (in locking order), and the parent and
> child handlers unlock them (in reverse order). Alterna
> tively, prepare and parent can be set to NULL and child to
> a function that calls pthread_mutex_init on the global
> mutexes.
>
> Hope this is of use.
This sound really good.
This should fix all pthread issues.
Christophe
--
Christophe Barbé
Software Engineer - christophe.barbe@lineo.fr
Lineo France - Lineo High Availability Group
42-46, rue Médéric - 92110 Clichy - France
phone (33).1.41.40.02.12 - fax (33).1.41.40.02.01
http://www.lineo.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]