version 1.59, 2011/08/09 10:30:37
|
version 1.61, 2011/08/30 14:19:28
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.2 |
RPL/2 (R) version 4.1.3 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 973 liberation_threads(struct_processus *s_e
|
Line 973 liberation_threads(struct_processus *s_e
|
while(element_courant != NULL) |
while(element_courant != NULL) |
{ |
{ |
element_suivant = (*((struct_liste_chainee *) |
element_suivant = (*((struct_liste_chainee *) |
|
element_courant)).suivant; |
|
|
|
pthread_mutex_trylock(&((*(*((struct_liste_chainee *) |
|
element_courant)).donnee).mutex)); |
|
pthread_mutex_unlock(&((*(*((struct_liste_chainee *) |
|
element_courant)).donnee).mutex)); |
|
liberation(s_etat_processus, |
|
(*((struct_liste_chainee *) element_courant)).donnee); |
|
free(element_courant); |
|
|
|
element_courant = element_suivant; |
|
} |
|
|
|
element_courant = (*s_etat_processus).l_base_pile_undo; |
|
while(element_courant != NULL) |
|
{ |
|
element_suivant = (*((struct_liste_chainee *) |
element_courant)).suivant; |
element_courant)).suivant; |
|
|
pthread_mutex_trylock(&((*(*((struct_liste_chainee *) |
pthread_mutex_trylock(&((*(*((struct_liste_chainee *) |