version 1.39, 2010/08/30 14:14:07
|
version 1.40, 2010/09/11 16:46:19
|
Line 1128 liberation(struct_processus *s_etat_proc
|
Line 1128 liberation(struct_processus *s_etat_proc
|
case PRC : |
case PRC : |
{ |
{ |
if (pthread_mutex_lock(&((*(*((struct_processus_fils *) |
if (pthread_mutex_lock(&((*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).mutex)) != 0) |
(*s_objet).objet)).thread).mutex_nombre_references)) != 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1155 liberation(struct_processus *s_etat_proc
|
Line 1155 liberation(struct_processus *s_etat_proc
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) |
if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).mutex)) != 0) |
(*s_objet).objet)).thread).mutex_nombre_references)) != 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1165 liberation(struct_processus *s_etat_proc
|
Line 1165 liberation(struct_processus *s_etat_proc
|
{ |
{ |
pthread_mutex_destroy(&((*(*((struct_processus_fils *) |
pthread_mutex_destroy(&((*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).mutex)); |
(*s_objet).objet)).thread).mutex)); |
|
pthread_mutex_destroy(&((*(*((struct_processus_fils *) |
|
(*s_objet).objet)).thread).mutex_nombre_references)); |
free((*((struct_processus_fils *) (*s_objet).objet)).thread); |
free((*((struct_processus_fils *) (*s_objet).objet)).thread); |
|
|
} |
} |
|
|
if (decrementation_atomique(s_objet) > 0) |
if (decrementation_atomique(s_objet) > 0) |
Line 2268 copie_objet(struct_processus *s_etat_pro
|
Line 2269 copie_objet(struct_processus *s_etat_pro
|
case PRC : |
case PRC : |
{ |
{ |
if (pthread_mutex_lock(&((*(*((struct_processus_fils *) |
if (pthread_mutex_lock(&((*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).mutex)) != 0) |
(*s_objet).objet)).thread).mutex_nombre_references)) != 0) |
{ |
{ |
return(NULL); |
return(NULL); |
} |
} |
Line 2277 copie_objet(struct_processus *s_etat_pro
|
Line 2278 copie_objet(struct_processus *s_etat_pro
|
.nombre_references++; |
.nombre_references++; |
|
|
if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) |
if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).mutex)) != 0) |
(*s_objet).objet)).thread).mutex_nombre_references)) != 0) |
{ |
{ |
return(NULL); |
return(NULL); |
} |
} |
Line 2295 copie_objet(struct_processus *s_etat_pro
|
Line 2296 copie_objet(struct_processus *s_etat_pro
|
|
|
(*((struct_processus_fils *) (*s_nouvel_objet).objet)) = |
(*((struct_processus_fils *) (*s_nouvel_objet).objet)) = |
(*((struct_processus_fils *) (*s_objet).objet)); |
(*((struct_processus_fils *) (*s_objet).objet)); |
|
|
break; |
break; |
} |
} |
|
|