From 46aaf11b011fbe13d8b470b15e2ec5339ca62e83 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor
runtime.LockOSThread
function to lock the goroutine onto a single thread.
+C++ exceptions do not interoperate with Go code. Attempts to throw +C++ exceptions through a Go caller are unreliable: in many cases the +C++ exception handler will be unable to unwind the stack, and the +program will crash. The only safe way to handle C++ exceptions is to +catch them in C++ before returning to Go. +
+ +@@ -591,7 +603,7 @@ completely to avoid common pitfalls with directors in Go.
-@@ -663,7 +675,7 @@ be found in the end of the guide.
-@@ -698,7 +710,7 @@ documentation on directors.
-@@ -751,7 +763,7 @@ embedding.
-@@ -819,7 +831,7 @@ the Go methods.
-@@ -856,7 +868,7 @@ be found in the end of the guide.
-@@ -924,7 +936,7 @@ class.
-@@ -989,7 +1001,7 @@ before using runtime.SetFinalizer to know all of its gotchas.
-@@ -1118,7 +1130,7 @@ SWIG/Examples/go/director/.
-@@ -1225,7 +1237,7 @@ that typemap, or add new values, to control how C/C++ types are mapped into Go types.
-Because of limitations in the way output arguments are processed in swig, @@ -1278,7 +1290,7 @@ void f(char *output); -
Often the APIs generated by swig are not very natural in go, especially if @@ -1373,7 +1385,7 @@ func bar() { -