cgo should lock the M.
See also https://golang.org/cl/18882 .
Reviewed-on: https://go-review.googlesource.com/18883
From-SVN: r233670
-1c3747d20789c73447ff71cbc739f7423c4bdf67
+156f5f0152797ac2afe5f23803aeb3c7b8f8418e
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
if (runtime_needextram && runtime_cas (&runtime_needextram, 1, 0))
runtime_newextram ();
+ runtime_lockOSThread();
+
m = runtime_m ();
++m->ncgocall;
g = runtime_g ();
_cgo_panic will already have exited syscall mode. */
if (g->status == Gsyscall)
runtime_exitsyscall ();
+
+ runtime_unlockOSThread();
}
/* Call back from C/C++ code to Go code. */