]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libthread/lib.c
kernel: cleanup makefile for $CONF.$O target
[plan9front.git] / sys / src / libthread / lib.c
1 #include <u.h>
2 #include <libc.h>
3 #include <thread.h>
4 #include "threadimpl.h"
5
6 static long totalmalloc;
7
8 void*
9 _threadmalloc(long size, int z)
10 {
11         void *m;
12
13         m = malloc(size);
14         if (m == nil)
15                 sysfatal("Malloc of size %ld failed: %r", size);
16         setmalloctag(m, getcallerpc(&size));
17         totalmalloc += size;
18         if (size > 100000000) {
19                 fprint(2, "Malloc of size %ld, total %ld\n", size, totalmalloc);
20                 abort();
21         }
22         if (z)
23                 memset(m, 0, size);
24         return m;
25 }
26
27 void
28 _threadsysfatal(char *fmt, va_list arg)
29 {
30         char buf[1024]; /* size doesn't matter; we're about to exit */
31
32         vseprint(buf, buf+sizeof(buf), fmt, arg);
33         if(argv0)
34                 fprint(2, "%s: %s\n", argv0, buf);
35         else
36                 fprint(2, "%s\n", buf);
37         threadexitsall(buf);
38 }