version 1.66, 2011/09/14 14:34:28
|
version 1.69, 2011/09/20 14:36:29
|
Line 2801 copie_etat_processus(struct_processus *s
|
Line 2801 copie_etat_processus(struct_processus *s
|
* n'ont aucune raison de changer. |
* n'ont aucune raison de changer. |
*/ |
*/ |
|
|
|
pthread_mutexattr_init(&attributs_mutex); |
|
pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); |
|
|
# ifndef SEMAPHORES_NOMMES |
# ifndef SEMAPHORES_NOMMES |
sem_init(&((*s_nouvel_etat_processus).semaphore_fork), 0, 0); |
sem_init(&((*s_nouvel_etat_processus).semaphore_fork), 0, 0); |
# else |
# else |
if (((*s_nouvel_etat_processus).semaphore_fork = sem_init2(0, sem_fork)) |
if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(), |
== SEM_FAILED) |
pthread_self())) == SEM_FAILED) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
# endif |
# endif |
|
|
initialisation_contexte_cas(s_etat_processus); |
initialisation_contexte_cas(s_etat_processus); |
Line 3939 debug_fork()
|
Line 3942 debug_fork()
|
pthread_mutex_lock(&mutex_allocation); |
pthread_mutex_lock(&mutex_allocation); |
pid = fork(); |
pid = fork(); |
|
|
# ifdef OS2 |
|
if (pid == 0) |
|
{ |
|
sem_init(&semaphore_liste_threads, 0, 1); |
|
sem_init(&semaphore_gestionnaires_signaux, 0, 0); |
|
sem_init(&semaphore_gestionnaires_signaux_atomique, 0, 1); |
|
sem_init(&((*s_etat_processus).semaphore_fork), 0, 0); |
|
} |
|
# endif |
|
|
|
if (pid == 0) |
if (pid == 0) |
{ |
{ |
liberation_queue_signaux(s_etat_processus); |
liberation_queue_signaux(s_etat_processus); |