commit 69d1259cf9af6d288b34c4452db4c418e739f750 from: Tim Wiess date: Sun Jul 20 07:11:05 2008 UTC libthread: add proper sysfatal commit - 64851eee5f6ba5fc9441074b9a11b9baaf064a90 commit + 69d1259cf9af6d288b34c4452db4c418e739f750 blob - 78c538acd8245e6618d10d47457d6986e440b554 blob + 42081e92afdb64f5a026f5f5716a936ee5d2be85 --- src/libthread/thread.c +++ src/libthread/thread.c @@ -279,6 +279,19 @@ threadunpin(void) assert(0); } p->pinthread = nil; +} + +void +threadsysfatal(char *fmt, ...) +{ + char buf[256]; + va_list arg; + + va_start(arg, fmt); + vseprint(buf, buf+sizeof(buf), fmt, arg); + __fixargv0(); + fprint(2, "%s: %s\n", argv0 ? argv0 : "", buf); + threadexitsall(buf); } static void @@ -686,6 +699,8 @@ threadmainstart(void *v) threadmain(threadargc, threadargv); } +extern void (*_sysfatal)(char*, ...); + int main(int argc, char **argv) { @@ -715,6 +730,7 @@ main(int argc, char **argv) _notejmpbuf = threadnotejmp; _pin = threadpin; _unpin = threadunpin; + _sysfatal = threadsysfatal; _pthreadinit(); p = procalloc();