19
vendor/github.com/anacrolix/missinggo/wait_event.go
generated
vendored
Normal file
19
vendor/github.com/anacrolix/missinggo/wait_event.go
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
package missinggo
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"sync"
|
||||
)
|
||||
|
||||
func WaitEvents(l sync.Locker, evs ...*Event) {
|
||||
cases := make([]reflect.SelectCase, 0, len(evs))
|
||||
for _, ev := range evs {
|
||||
cases = append(cases, reflect.SelectCase{
|
||||
Dir: reflect.SelectRecv,
|
||||
Chan: reflect.ValueOf(ev.C()),
|
||||
})
|
||||
}
|
||||
l.Unlock()
|
||||
reflect.Select(cases)
|
||||
l.Lock()
|
||||
}
|
||||
Reference in New Issue
Block a user