From be23e7f73ef8cd0bc8e768f147fb551a767629e2 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Wed, 15 Apr 1992 22:45:57 +0000 Subject: [PATCH] First try. --- src/server/isc-malloc.c | 76 +++++++++++++++++++++++++++++++++++++++++ src/server/isc-malloc.h | 46 +++++++++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 src/server/isc-malloc.c create mode 100644 src/server/isc-malloc.h diff --git a/src/server/isc-malloc.c b/src/server/isc-malloc.c new file mode 100644 index 000000000..5829c7b3c --- /dev/null +++ b/src/server/isc-malloc.c @@ -0,0 +1,76 @@ +/* + * $Id: isc-malloc.c,v 1.1 1992/04/15 22:45:57 ceder Exp $ + * Copyright (C) 1991 Lysator Academic Computer Association. + * + * This file is part of the LysKOM server. + * + * LysKOM is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 1, or (at your option) + * any later version. + * + * LysKOM is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License + * along with LysKOM; see the file COPYING. If not, write to + * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, + * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, + * MA 02139, USA. + * + * Please mail bug reports to bug-lyskom@lysator.liu.se. + */ +/* + * Malloc wrappers for the isc package. + * + * These functions call smalloc and also counts + * how many allocated blocks there are. + */ + +static char *rcsid = "$Id: isc-malloc.c,v 1.1 1992/04/15 22:45:57 ceder Exp $"; + + +#include <stdio.h> +#include <stddef.h> +#include <server/smalloc.h> +#include "log.h" +#include "exp.h" +#include "isc-malloc.h" + +static int no_of_allocated_blocks = 0; + +EXPORT void * +isc_malloc_wrapper(size_t size) +{ + ++no_of_allocated_blocks; + return smalloc (size); +} + + +EXPORT void +isc_free_wrapper(void * ptr) +{ + --no_of_allocated_blocks; + sfree(ptr); +} + +EXPORT void * +isc_realloc_wrapper (void * ptr, + size_t size) +{ + if ( ptr == NULL ) + return isc_malloc_wrapper (size); + + return srealloc (ptr, size); +} + + +EXPORT void +dump_isc_alloc_counts(FILE *stat_file) +{ + fprintf(stat_file, "---" __FILE__ ":\n" + "\tAllocated blocks by isc: %d\n", + no_of_allocated_blocks); +} diff --git a/src/server/isc-malloc.h b/src/server/isc-malloc.h new file mode 100644 index 000000000..c80e6f8c7 --- /dev/null +++ b/src/server/isc-malloc.h @@ -0,0 +1,46 @@ +/* + * $Id: isc-malloc.h,v 1.1 1992/04/15 22:45:54 ceder Exp $ + * Copyright (C) 1991 Lysator Academic Computer Association. + * + * This file is part of the LysKOM server. + * + * LysKOM is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 1, or (at your option) + * any later version. + * + * LysKOM is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License + * along with LysKOM; see the file COPYING. If not, write to + * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, + * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, + * MA 02139, USA. + * + * Please mail bug reports to bug-lyskom@lysator.liu.se. + */ +/* + * $Id: isc-malloc.h,v 1.1 1992/04/15 22:45:54 ceder Exp $ + * + * Malloc wrappers for the string package. + * + * These functions call smalloc and also counts + * how many allocated strings there are. + */ + +extern void * +isc_malloc_wrapper (size_t size); + + +extern void +isc_free_wrapper (void * ptr); + +extern void * +isc_realloc_wrapper (void * ptr, + size_t size); + +extern void +dump_isc_alloc_counts(FILE *stat_file); -- GitLab