version 1.128, 2015/02/19 11:01:22
|
version 1.132, 2015/07/21 20:16:19
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.21 |
RPL/2 (R) version 4.1.22 |
Copyright (C) 1989-2015 Dr. BERTRAND Joël |
Copyright (C) 1989-2015 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 1094 instruction_detach(struct_processus *s_e
|
Line 1094 instruction_detach(struct_processus *s_e
|
return; |
return; |
} |
} |
|
|
|
if (pthread_mutex_lock(&mutex_liste_variables_partagees) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return; |
|
} |
|
|
fflush(NULL); |
fflush(NULL); |
|
|
/* |
/* |
Line 1132 instruction_detach(struct_processus *s_e
|
Line 1138 instruction_detach(struct_processus *s_e
|
* Processus père |
* Processus père |
*/ |
*/ |
|
|
|
if (pthread_mutex_unlock(&mutex_liste_variables_partagees) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return; |
|
} |
|
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_copie); |
liberation(s_etat_processus, s_copie); |
Line 1269 instruction_detach(struct_processus *s_e
|
Line 1281 instruction_detach(struct_processus *s_e
|
* Processus fils |
* Processus fils |
*/ |
*/ |
|
|
|
pthread_mutex_destroy(&mutex_liste_variables_partagees); |
|
|
|
pthread_mutexattr_init(&attributs_mutex); |
|
pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); |
|
pthread_mutex_init(&mutex_liste_variables_partagees, &attributs_mutex); |
|
pthread_mutexattr_destroy(&attributs_mutex); |
|
|
|
liberation_queue_signaux(s_etat_processus); |
|
creation_queue_signaux(s_etat_processus); |
|
|
if (lancement_thread_signaux(s_etat_processus) != d_absence_erreur) |
if (lancement_thread_signaux(s_etat_processus) != d_absence_erreur) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
} |
} |
|
|
liberation_queue_signaux(s_etat_processus); |
|
creation_queue_signaux(s_etat_processus); |
|
routine_recursive = 0; |
routine_recursive = 0; |
|
|
(*s_etat_processus).pointeur_signal_lecture = 0; |
(*s_etat_processus).pointeur_signal_lecture = 0; |