From 0629354bd3a2eb8d9f2e1bafdd508120f94422ef Mon Sep 17 00:00:00 2001 From: Albert Strasheim Date: Fri, 6 May 2011 15:29:49 -0400 Subject: [PATCH] runtime: handle out-of-threads on Linux gracefully R=rsc CC=golang-dev https://golang.org/cl/4396050 --- src/pkg/runtime/linux/thread.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pkg/runtime/linux/thread.c b/src/pkg/runtime/linux/thread.c index 7166b0ef27..6c506236fb 100644 --- a/src/pkg/runtime/linux/thread.c +++ b/src/pkg/runtime/linux/thread.c @@ -252,10 +252,10 @@ runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void)) stk, m, g, fn, runtime·clone, m->id, m->tls[0], &m); } - ret = runtime·clone(flags, stk, m, g, fn); - - if(ret < 0) - *(int32*)123 = 123; + if((ret = runtime·clone(flags, stk, m, g, fn)) < 0) { + runtime·printf("runtime: failed to create new OS thread (have %d already; errno=%d)\n", runtime·mcount(), -ret); + runtime·throw("runtime.newosproc"); + } } void