diff --git a/src/listen.go b/src/listen.go index 1134508..469f196 100755 --- a/src/listen.go +++ b/src/listen.go @@ -50,5 +50,12 @@ func handle(ctx context.Context, config Config, conn net.Conn) { func _handle(ctx context.Context, config Config, conn net.Conn) error { defer conn.Close() + ctx, can := context.WithCancel(ctx) + defer can() + go func() { + <-ctx.Done() + conn.Close() + }() + return adapt(ctx, config, conn) }