version 1.37, 2010/05/22 21:45:50
|
version 1.40, 2010/06/02 10:28:45
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.15 |
RPL/2 (R) version 4.0.16 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 438 int sem_getvalue2(sem_t *semaphore, int
|
Line 438 int sem_getvalue2(sem_t *semaphore, int
|
void analyse_post_mortem(); |
void analyse_post_mortem(); |
void *debug_memoire_ajout(size_t taille, const unsigned char *fonction, |
void *debug_memoire_ajout(size_t taille, const unsigned char *fonction, |
unsigned long ligne, const unsigned char *argument); |
unsigned long ligne, const unsigned char *argument); |
|
void debug_memoire_initialisation(); |
void *debug_memoire_modification(void *pointeur, size_t taille, |
void *debug_memoire_modification(void *pointeur, size_t taille, |
const unsigned char *fonction, unsigned long ligne, |
const unsigned char *fonction, unsigned long ligne, |
const unsigned char *argument); |
const unsigned char *argument); |
void debug_memoire_reinitialisation(); |
|
void debug_memoire_retrait(void *ptr); |
void debug_memoire_retrait(void *ptr); |
void debug_memoire_verification(); |
void debug_memoire_verification(); |
|
|
|
pid_t debug_fork(); |
|
|
#define malloc(s) debug_memoire_ajout(s, __FUNCTION__, __LINE__, #s) |
#define malloc(s) debug_memoire_ajout(s, __FUNCTION__, __LINE__, #s) |
#define free(s) debug_memoire_retrait(s) |
#define free(s) debug_memoire_retrait(s) |
#define realloc(s, t) debug_memoire_modification(s, t, \ |
#define realloc(s, t) debug_memoire_modification(s, t, \ |
__FUNCTION__, __LINE__, #t) |
__FUNCTION__, __LINE__, #t) |
|
#define fork() debug_fork() |
#endif |
#endif |
|
|
#ifdef DEBUG_RETURN |
#ifdef DEBUG_RETURN |
Line 488 void debug_memoire_verification();
|
Line 491 void debug_memoire_verification();
|
if (value == 0) BUG(1, uprintf("Value %d\n", value)); sem_destroy(a); }) |
if (value == 0) BUG(1, uprintf("Value %d\n", value)); sem_destroy(a); }) |
#endif |
#endif |
|
|
#ifdef DEBUG_MALLOC |
|
#define malloc(taille) ({ size_t s = taille; void *p; \ |
|
p = malloc(taille); if (p != NULL) memset(p, 0, s); \ |
|
/*uprintf("[%d-%llu] Allocating %p (%d bytes) at %s() line #%d\n", \ |
|
(int) getpid(), (unsigned long long) pthread_self(), p, \ |
|
(int) s, __FUNCTION__, __LINE__); fflush(stdout); */ p; }) |
|
#endif |
|
|
|
#ifdef DEBUG_FREE |
|
#define free(ptr) ({ void *p = ptr; \ |
|
/*uprintf("[%d-%llu] Freeing %p (%d bytes) at %s() line #%d\n", \ |
|
(int) getpid(), (unsigned long long) pthread_self(), p, \ |
|
(int) sizeof(p), __FUNCTION__, __LINE__); fflush(stdout); */ \ |
|
if (p != NULL) memset(p, 0, sizeof(p)); free(p); }) |
|
#endif |
|
|
|
/* |
/* |
================================================================================ |
================================================================================ |
Line 742 void debug_memoire_verification();
|
Line 730 void debug_memoire_verification();
|
# define d_ex_enregistrement_inexistant __erreur(79) |
# define d_ex_enregistrement_inexistant __erreur(79) |
# define d_ex_clef_inexistante __erreur(80) |
# define d_ex_clef_inexistante __erreur(80) |
# define d_ex_nom_implicite __erreur(81) |
# define d_ex_nom_implicite __erreur(81) |
|
# define d_ex_version_bibliotheque __erreur(82) |
#endif |
#endif |
|
|
|
|