mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
database/sql: check to see if ctx is cancelable before await
Prevent queries from starting a goroutine if the context is not able to be canceled. Fixes #23879 Change-Id: I392047bd53d7f796219dd12ee11b07303658fdaf Reviewed-on: https://go-review.googlesource.com/102478 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Yasuhiro MATSUMOTO <mattn.jp@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
377a2cb2d2
commit
6e59c73a9f
1 changed files with 3 additions and 0 deletions
|
|
@ -2563,6 +2563,9 @@ type Rows struct {
|
|||
}
|
||||
|
||||
func (rs *Rows) initContextClose(ctx, txctx context.Context) {
|
||||
if ctx.Done() == nil && (txctx == nil || txctx.Done() == nil) {
|
||||
return
|
||||
}
|
||||
ctx, rs.cancel = context.WithCancel(ctx)
|
||||
go rs.awaitDone(ctx, txctx)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue