version 1.4, 2015/01/27 15:41:25
|
version 1.31, 2025/04/15 10:17:49
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.20 |
RPL/2 (R) version 4.1.36 |
Copyright (C) 1989-2015 Dr. BERTRAND Joël |
Copyright (C) 1989-2025 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 186 initialisation_allocateur_buffer(struct_
|
Line 186 initialisation_allocateur_buffer(struct_
|
{ |
{ |
longueur_tailles++; |
longueur_tailles++; |
} |
} |
|
} |
|
|
if (((*s_etat_processus).cache_buffer = sys_malloc(((size_t) |
if (((*s_etat_processus).cache_buffer = sys_malloc(((size_t) |
longueur_tailles) * sizeof(unsigned char **))) == NULL) |
longueur_tailles) * sizeof(unsigned char **))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |
} |
} |
|
|
if (((*s_etat_processus).pointeur_cache_buffer = sys_malloc(((size_t) |
if (((*s_etat_processus).pointeur_cache_buffer = sys_malloc(((size_t) |
longueur_tailles) * sizeof(int))) == NULL) |
longueur_tailles) * sizeof(int))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |
} |
|
} |
} |
|
|
for(i = 0; i < longueur_tailles; i++) |
for(i = 0; i < longueur_tailles; i++) |
Line 287 allocation_buffer(struct_processus *s_et
|
Line 287 allocation_buffer(struct_processus *s_et
|
|
|
if (longueur == 0) |
if (longueur == 0) |
{ |
{ |
(*s_buffer).buffer = NULL; |
if (((*s_buffer).buffer = sys_malloc(sizeof(struct_buffer *))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
classe = -1; |
classe = -1; |
} |
} |
else |
else |
Line 405 rpl_malloc(struct_processus *s_etat_proc
|
Line 411 rpl_malloc(struct_processus *s_etat_proc
|
|
|
void *pointeur; |
void *pointeur; |
|
|
|
if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return(NULL); |
|
} |
|
|
if ((s_buffer = allocation_buffer(s_etat_processus, s)) == NULL) |
if ((s_buffer = allocation_buffer(s_etat_processus, s)) == NULL) |
{ |
{ |
|
pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer)); |
|
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
pointeur = (*s_buffer).buffer + sizeof(struct_buffer *); |
pointeur = (*s_buffer).buffer + sizeof(struct_buffer *); |
|
|
|
if (pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer)) |
|
!= 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return(NULL); |
|
} |
|
|
return(pointeur); |
return(pointeur); |
} |
} |
|
|
Line 440 rpl_realloc(struct_processus *s_etat_pro
|
Line 462 rpl_realloc(struct_processus *s_etat_pro
|
|
|
void *pointeur; |
void *pointeur; |
|
|
|
if (ptr == NULL) |
|
{ |
|
return(rpl_malloc(s_etat_processus, s)); |
|
} |
|
|
|
if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return(NULL); |
|
} |
|
|
if ((s_nouveau_buffer = allocation_buffer(s_etat_processus, s)) == NULL) |
if ((s_nouveau_buffer = allocation_buffer(s_etat_processus, s)) == NULL) |
{ |
{ |
|
pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer)); |
|
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
Line 458 rpl_realloc(struct_processus *s_etat_pro
|
Line 493 rpl_realloc(struct_processus *s_etat_pro
|
liberation_buffer(s_etat_processus, s_ancien_buffer); |
liberation_buffer(s_etat_processus, s_ancien_buffer); |
pointeur = (*s_nouveau_buffer).buffer + sizeof(struct_buffer *); |
pointeur = (*s_nouveau_buffer).buffer + sizeof(struct_buffer *); |
|
|
|
if (pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer)) |
|
!= 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return(NULL); |
|
} |
|
|
return(pointeur); |
return(pointeur); |
} |
} |
|
|
Line 485 rpl_free(struct_processus *s_etat_proces
|
Line 527 rpl_free(struct_processus *s_etat_proces
|
} |
} |
|
|
s_buffer = (*((struct_buffer **) (ptr - sizeof(struct_buffer *)))); |
s_buffer = (*((struct_buffer **) (ptr - sizeof(struct_buffer *)))); |
|
|
|
if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return; |
|
} |
|
|
liberation_buffer(s_etat_processus, s_buffer); |
liberation_buffer(s_etat_processus, s_buffer); |
|
|
|
if (pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer)) |
|
!= 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return; |
|
} |
|
|
return; |
return; |
} |
} |
|
|
Line 505 sys_free(void *ptr)
|
Line 562 sys_free(void *ptr)
|
return; |
return; |
} |
} |
|
|
|
void * |
|
sys_realloc(void *ptr, size_t s) |
|
{ |
|
return(realloc(ptr, s)); |
|
} |
|
|
// vim: ts=4 |
// vim: ts=4 |