mirror of
https://github.com/golang/go
synced 2024-11-25 06:07:58 -07:00
runtime: detect failed thread creation on Windows
Fixes #1495. R=rsc CC=golang-dev https://golang.org/cl/4182047
This commit is contained in:
parent
29ae8e9a98
commit
ff7d7b271f
@ -184,11 +184,17 @@ runtime·notesleep(Note *n)
|
|||||||
void
|
void
|
||||||
runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
|
runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
|
||||||
{
|
{
|
||||||
|
void *thandle;
|
||||||
|
|
||||||
USED(stk);
|
USED(stk);
|
||||||
USED(g); // assuming g = m->g0
|
USED(g); // assuming g = m->g0
|
||||||
USED(fn); // assuming fn = mstart
|
USED(fn); // assuming fn = mstart
|
||||||
|
|
||||||
runtime·stdcall(runtime·CreateThread, 6, 0, 0, runtime·tstart_stdcall, m, 0, 0);
|
thandle = runtime·stdcall(runtime·CreateThread, 6, 0, 0, runtime·tstart_stdcall, m, 0, 0);
|
||||||
|
if(thandle == 0) {
|
||||||
|
runtime·printf("runtime: failed to create new OS thread (have %d already; errno=%d)\n", runtime·mcount(), runtime·getlasterror());
|
||||||
|
runtime·throw("runtime.newosproc");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called to initialize a new m (including the bootstrap m).
|
// Called to initialize a new m (including the bootstrap m).
|
||||||
|
Loading…
Reference in New Issue
Block a user