| 123456789101112131415161718192021222324 |
- package common
- import (
- "context"
- "fmt"
- "github.com/bytedance/gopkg/util/gopool"
- "math"
- )
- var relayGoPool gopool.Pool
- func init() {
- relayGoPool = gopool.NewPool("gopool.RelayPool", math.MaxInt32, gopool.NewConfig())
- relayGoPool.SetPanicHandler(func(ctx context.Context, i interface{}) {
- if stopChan, ok := ctx.Value("stop_chan").(chan bool); ok {
- SafeSendBool(stopChan, true)
- }
- SysError(fmt.Sprintf("panic in gopool.RelayPool: %v", i))
- })
- }
- func RelayCtxGo(ctx context.Context, f func()) {
- relayGoPool.CtxGo(ctx, f)
- }
|