version 1.23, 2010/06/04 07:48:19
|
version 1.27, 2010/06/18 11:54:00
|
Line 1121 liberation(struct_processus *s_etat_proc
|
Line 1121 liberation(struct_processus *s_etat_proc
|
.nombre_references--; |
.nombre_references--; |
|
|
BUG((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
BUG((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
.nombre_references < 0, printf("(*(*((struct_processus_fils" |
.nombre_references < 0, uprintf( |
|
"(*(*((struct_processus_fils" |
" *) (*s_objet).objet)).thread).nombre_references = %d\n", |
" *) (*s_objet).objet)).thread).nombre_references = %d\n", |
(int) (*(*((struct_processus_fils *) (*s_objet).objet)) |
(int) (*(*((struct_processus_fils *) (*s_objet).objet)) |
.thread).nombre_references)); |
.thread).nombre_references)); |
|
|
printf("liberation : %d\n", (*(*((struct_processus_fils *) (*s_objet).objet)).thread).nombre_references); |
|
if ((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
if ((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
.nombre_references == 0) |
.nombre_references == 0) |
{ |
{ |
Line 2248 copie_objet(struct_processus *s_etat_pro
|
Line 2248 copie_objet(struct_processus *s_etat_pro
|
|
|
(*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
(*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
.nombre_references++; |
.nombre_references++; |
printf("<2> +1 %d\n", (*(*((struct_processus_fils *) (*s_objet).objet)).thread).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)) != 0) |
Line 2269 printf("<2> +1 %d\n", (*(*((struct_proce
|
Line 2268 printf("<2> +1 %d\n", (*(*((struct_proce
|
|
|
(*((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; |
} |
} |
|
|
Line 3716 debug_memoire_modification(void *pointeu
|
Line 3716 debug_memoire_modification(void *pointeu
|
{ |
{ |
pthread_mutex_unlock(&mutex_allocation); |
pthread_mutex_unlock(&mutex_allocation); |
|
|
uprintf("[%d-%llu] ILLEGAL POINTER\n", |
uprintf("[%d-%llu] ILLEGAL POINTER (realloc)\n", |
getpid(), (unsigned long long) pthread_self()); |
getpid(), (unsigned long long) pthread_self()); |
# ifdef __BACKTRACE |
# ifdef __BACKTRACE |
BACKTRACE(PROFONDEUR_PILE); |
BACKTRACE(PROFONDEUR_PILE); |
Line 3813 debug_memoire_retrait(void *pointeur)
|
Line 3813 debug_memoire_retrait(void *pointeur)
|
|
|
if (element_courant == NULL) |
if (element_courant == NULL) |
{ |
{ |
uprintf("[%d-%llu] ILLEGAL POINTER\n", |
uprintf("[%d-%llu] ILLEGAL POINTER (free)\n", |
getpid(), (unsigned long long) pthread_self()); |
getpid(), (unsigned long long) pthread_self()); |
# ifdef __BACKTRACE |
# ifdef __BACKTRACE |
BACKTRACE(PROFONDEUR_PILE); |
BACKTRACE(PROFONDEUR_PILE); |