cgo should lock the M.
See also https://golang.org/cl/18882 .
Reviewed-on: https://go-review.googlesource.com/18883
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233670
138bc75d-0d04-0410-961f-
82ee72b054a4
-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. */