#include "threadimpl.h" | |
static long totalmalloc; | |
void* | |
_threadmalloc(long size, int z) | |
{ | |
void *m; | |
m = malloc(size); | |
if (m == nil) | |
sysfatal("Malloc of size %ld failed: %r\n", size); | |
setmalloctag(m, getcallerpc(&size)); | |
totalmalloc += size; | |
if (size > 1000000) { | |
fprint(2, "Malloc of size %ld, total %ld\n", size, totalmalloc); | |
abort(); | |
} | |
if (z) | |
_threadmemset(m, 0, size); | |
return m; | |
} | |
void | |
_threadsysfatal(char *fmt, va_list arg) | |
{ | |
char buf[1024]; /* size doesn't matter; we're about to exit */ | |
vseprint(buf, buf+sizeof(buf), fmt, arg); | |
if(argv0) | |
fprint(2, "%s: %s\n", argv0, buf); | |
else | |
fprint(2, "%s\n", buf); | |
threadexitsall(buf); | |
} |