*
*/
-#define EMBEDMYMALLOC
-
#if defined(PERL_CORE) && !defined(DEBUGGING_MSTATS)
# define DEBUGGING_MSTATS
#endif
static char *emergency_buffer;
static MEM_SIZE emergency_buffer_size;
-static char *
+static Malloc_t
emergency_sbrk(size)
MEM_SIZE size;
{
}
if (!emergency_buffer) {
+ dTHR;
/* First offense, give a possibility to recover by dieing. */
/* No malloc involved here: */
GV **gvp = (GV**)hv_fetch(defstash, "^M", 2, 0);
#ifdef USE_PERL_SBRK
#define sbrk(a) Perl_sbrk(a)
-char * Perl_sbrk _((int size));
+Malloc_t Perl_sbrk _((int size));
#else
#ifdef DONT_DECLARE_STD
#ifdef I_UNISTD
#include <unistd.h>
#endif
#else
-extern char *sbrk(int);
+extern Malloc_t sbrk(int);
#endif
#endif
botch(char *s)
{
PerlIO_printf(PerlIO_stderr(), "assertion botched: %s\n", s);
- abort();
+ PerlProc_abort();
}
#else
#define ASSERT(p)
if (OV_MAGIC(ovp, bucket) != MAGIC) {
static int bad_free_warn = -1;
if (bad_free_warn == -1) {
- char *pbf = getenv("PERL_BADFREE");
+ char *pbf = PerlEnv_getenv("PERL_BADFREE");
bad_free_warn = (pbf) ? atoi(pbf) : 1;
}
if (!bad_free_warn)
# define PERLSBRK_32_K (1<<15)
# define PERLSBRK_64_K (1<<16)
-char *
+Malloc_t
Perl_sbrk(size)
int size;
{