/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue25897b.go
38 строк
651 B
Keith Randall
runtime: get map of args of unstarted goroutines like we do for defers
03 июн 2019, 21:50
03 июн 2019, 21:50
38c129b
Код
Авторство
О чём код?
// run // Copyright 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Make sure the runtime can scan args of an unstarted goroutine // which starts with a reflect-generated function. package main import ( "reflect" "runtime" ) const N = 100 type T struct { } func (t *T) Foo(c chan bool) { c <- true } func main() { t := &T{} runtime.GOMAXPROCS(1) c := make(chan bool, N) for i := 0; i < N; i++ { f := reflect.ValueOf(t).MethodByName("Foo").Interface().(func(chan bool)) go f(c) } runtime.GC() for i := 0; i < N; i++ { <-c } }