Fix races / finally remove global app for good (#7570)
* finally remove global app for good * test compilation fixes * fix races * fix deadlock * wake up write pump so it doesn't take forever to clean up
Этот коммит содержится в:
@@ -18,6 +18,17 @@ type StoreResult struct {
|
||||
|
||||
type StoreChannel chan StoreResult
|
||||
|
||||
func Do(f func(result *StoreResult)) StoreChannel {
|
||||
storeChannel := make(StoreChannel, 1)
|
||||
go func() {
|
||||
result := StoreResult{}
|
||||
f(&result)
|
||||
storeChannel <- result
|
||||
close(storeChannel)
|
||||
}()
|
||||
return storeChannel
|
||||
}
|
||||
|
||||
func Must(sc StoreChannel) interface{} {
|
||||
r := <-sc
|
||||
if r.Err != nil {
|
||||
|
||||
Ссылка в новой задаче
Block a user