Also, add a fast path to newGoroutineLock when tracking isn't enabled.
@@ -14,16 +14,20 @@ import (
"bytes"
"errors"
"fmt"
+ "os"
"runtime"
"strconv"
"sync"
)
-var DebugGoroutines = false
+var DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1"
type goroutineLock uint64
func newGoroutineLock() goroutineLock {
+ if !DebugGoroutines {
+ return 0
+ }
return goroutineLock(curGoroutineID())
}