Commit 5781df42 authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder Committed by Brad Fitzpatrick

all: s/cancelation/cancellation/

Though there is variation in the spelling of canceled,
cancellation is always spelled with a double l.

Reference: https://www.grammarly.com/blog/canceled-vs-cancelled/

Change-Id: I240f1a297776c8e27e74f3eca566d2bc4c856f2f
Reviewed-on: https://go-review.googlesource.com/c/go/+/170060
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 34b1f210
...@@ -2094,7 +2094,7 @@ func (s *state) expr(n *Node) *ssa.Value { ...@@ -2094,7 +2094,7 @@ func (s *state) expr(n *Node) *ssa.Value {
addop := ssa.OpAdd64F addop := ssa.OpAdd64F
subop := ssa.OpSub64F subop := ssa.OpSub64F
pt := floatForComplex(n.Type) // Could be Float32 or Float64 pt := floatForComplex(n.Type) // Could be Float32 or Float64
wt := types.Types[TFLOAT64] // Compute in Float64 to minimize cancelation error wt := types.Types[TFLOAT64] // Compute in Float64 to minimize cancellation error
areal := s.newValue1(ssa.OpComplexReal, pt, a) areal := s.newValue1(ssa.OpComplexReal, pt, a)
breal := s.newValue1(ssa.OpComplexReal, pt, b) breal := s.newValue1(ssa.OpComplexReal, pt, b)
...@@ -2137,7 +2137,7 @@ func (s *state) expr(n *Node) *ssa.Value { ...@@ -2137,7 +2137,7 @@ func (s *state) expr(n *Node) *ssa.Value {
subop := ssa.OpSub64F subop := ssa.OpSub64F
divop := ssa.OpDiv64F divop := ssa.OpDiv64F
pt := floatForComplex(n.Type) // Could be Float32 or Float64 pt := floatForComplex(n.Type) // Could be Float32 or Float64
wt := types.Types[TFLOAT64] // Compute in Float64 to minimize cancelation error wt := types.Types[TFLOAT64] // Compute in Float64 to minimize cancellation error
areal := s.newValue1(ssa.OpComplexReal, pt, a) areal := s.newValue1(ssa.OpComplexReal, pt, a)
breal := s.newValue1(ssa.OpComplexReal, pt, b) breal := s.newValue1(ssa.OpComplexReal, pt, b)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Package lostcancel defines an Analyzer that checks for failure to // Package lostcancel defines an Analyzer that checks for failure to
// call a context cancelation function. // call a context cancellation function.
package lostcancel package lostcancel
import ( import (
...@@ -20,7 +20,7 @@ import ( ...@@ -20,7 +20,7 @@ import (
const Doc = `check cancel func returned by context.WithCancel is called const Doc = `check cancel func returned by context.WithCancel is called
The cancelation function returned by context.WithCancel, WithTimeout, The cancellation function returned by context.WithCancel, WithTimeout,
and WithDeadline must be called or the new context will remain live and WithDeadline must be called or the new context will remain live
until its parent context is cancelled. until its parent context is cancelled.
(The background context is never cancelled.)` (The background context is never cancelled.)`
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// Package context defines the Context type, which carries deadlines, // Package context defines the Context type, which carries deadlines,
// cancelation signals, and other request-scoped values across API boundaries // cancellation signals, and other request-scoped values across API boundaries
// and between processes. // and between processes.
// //
// Incoming requests to a server should create a Context, and outgoing // Incoming requests to a server should create a Context, and outgoing
...@@ -54,7 +54,7 @@ import ( ...@@ -54,7 +54,7 @@ import (
"time" "time"
) )
// A Context carries a deadline, a cancelation signal, and other values across // A Context carries a deadline, a cancellation signal, and other values across
// API boundaries. // API boundaries.
// //
// Context's methods may be called by multiple goroutines simultaneously. // Context's methods may be called by multiple goroutines simultaneously.
...@@ -92,7 +92,7 @@ type Context interface { ...@@ -92,7 +92,7 @@ type Context interface {
// } // }
// //
// See https://blog.golang.org/pipelines for more examples of how to use // See https://blog.golang.org/pipelines for more examples of how to use
// a Done channel for cancelation. // a Done channel for cancellation.
Done() <-chan struct{} Done() <-chan struct{}
// If Done is not yet closed, Err returns nil. // If Done is not yet closed, Err returns nil.
......
...@@ -94,7 +94,7 @@ func XTestWithCancel(t testingT) { ...@@ -94,7 +94,7 @@ func XTestWithCancel(t testingT) {
} }
cancel() cancel()
time.Sleep(100 * time.Millisecond) // let cancelation propagate time.Sleep(100 * time.Millisecond) // let cancellation propagate
for i, c := range contexts { for i, c := range contexts {
select { select {
...@@ -306,7 +306,7 @@ func XTestCanceledTimeout(t testingT) { ...@@ -306,7 +306,7 @@ func XTestCanceledTimeout(t testingT) {
o := otherContext{c} o := otherContext{c}
c, cancel := WithTimeout(o, 2*time.Second) c, cancel := WithTimeout(o, 2*time.Second)
cancel() cancel()
time.Sleep(100 * time.Millisecond) // let cancelation propagate time.Sleep(100 * time.Millisecond) // let cancellation propagate
select { select {
case <-c.Done(): case <-c.Done():
default: default:
......
...@@ -59,7 +59,7 @@ func ExampleWithDeadline() { ...@@ -59,7 +59,7 @@ func ExampleWithDeadline() {
ctx, cancel := context.WithDeadline(context.Background(), d) ctx, cancel := context.WithDeadline(context.Background(), d)
// Even though ctx will be expired, it is good practice to call its // Even though ctx will be expired, it is good practice to call its
// cancelation function in any case. Failure to do so may keep the // cancellation function in any case. Failure to do so may keep the
// context and its parent alive longer than necessary. // context and its parent alive longer than necessary.
defer cancel() defer cancel()
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
// The sql package must be used in conjunction with a database driver. // The sql package must be used in conjunction with a database driver.
// See https://golang.org/s/sqldrivers for a list of drivers. // See https://golang.org/s/sqldrivers for a list of drivers.
// //
// Drivers that do not support context cancelation will not return until // Drivers that do not support context cancellation will not return until
// after the query is completed. // after the query is completed.
// //
// For usage examples, see the wiki page at // For usage examples, see the wiki page at
......
...@@ -258,7 +258,7 @@ func (s *ioSrv) ExecIO(o *operation, submit func(o *operation) error) (int, erro ...@@ -258,7 +258,7 @@ func (s *ioSrv) ExecIO(o *operation, submit func(o *operation) error) (int, erro
s.req <- ioSrvReq{o, nil} s.req <- ioSrvReq{o, nil}
<-o.errc <-o.errc
} }
// Wait for cancelation to complete. // Wait for cancellation to complete.
fd.pd.waitCanceled(int(o.mode)) fd.pd.waitCanceled(int(o.mode))
if o.errno != 0 { if o.errno != 0 {
err = syscall.Errno(o.errno) err = syscall.Errno(o.errno)
...@@ -267,8 +267,8 @@ func (s *ioSrv) ExecIO(o *operation, submit func(o *operation) error) (int, erro ...@@ -267,8 +267,8 @@ func (s *ioSrv) ExecIO(o *operation, submit func(o *operation) error) (int, erro
} }
return 0, err return 0, err
} }
// We issued a cancelation request. But, it seems, IO operation succeeded // We issued a cancellation request. But, it seems, IO operation succeeded
// before the cancelation request run. We need to treat the IO operation as // before the cancellation request run. We need to treat the IO operation as
// succeeded (the bytes are actually sent/recv from network). // succeeded (the bytes are actually sent/recv from network).
return int(o.qty), nil return int(o.qty), nil
} }
......
...@@ -38,7 +38,7 @@ package math ...@@ -38,7 +38,7 @@ package math
// = 1/sqrt(2) * (cos(x) + sin(x)) // = 1/sqrt(2) * (cos(x) + sin(x))
// sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4) // sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4)
// = 1/sqrt(2) * (sin(x) - cos(x)) // = 1/sqrt(2) * (sin(x) - cos(x))
// (To avoid cancelation, use // (To avoid cancellation, use
// sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) // sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
// to compute the worse one.) // to compute the worse one.)
// //
...@@ -186,7 +186,7 @@ func Y0(x float64) float64 { ...@@ -186,7 +186,7 @@ func Y0(x float64) float64 {
// = 1/sqrt(2) * (sin(x) + cos(x)) // = 1/sqrt(2) * (sin(x) + cos(x))
// sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4) // sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
// = 1/sqrt(2) * (sin(x) - cos(x)) // = 1/sqrt(2) * (sin(x) - cos(x))
// To avoid cancelation, use // To avoid cancellation, use
// sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) // sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
// to compute the worse one. // to compute the worse one.
......
...@@ -39,7 +39,7 @@ package math ...@@ -39,7 +39,7 @@ package math
// = 1/sqrt(2) * (sin(x) - cos(x)) // = 1/sqrt(2) * (sin(x) - cos(x))
// sin(x1) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4) // sin(x1) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
// = -1/sqrt(2) * (sin(x) + cos(x)) // = -1/sqrt(2) * (sin(x) + cos(x))
// (To avoid cancelation, use // (To avoid cancellation, use
// sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) // sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
// to compute the worse one.) // to compute the worse one.)
// //
...@@ -197,7 +197,7 @@ func Y1(x float64) float64 { ...@@ -197,7 +197,7 @@ func Y1(x float64) float64 {
// = 1/sqrt(2) * (sin(x) - cos(x)) // = 1/sqrt(2) * (sin(x) - cos(x))
// sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4) // sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
// = -1/sqrt(2) * (cos(x) + sin(x)) // = -1/sqrt(2) * (cos(x) + sin(x))
// To avoid cancelation, use // To avoid cancellation, use
// sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) // sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
// to compute the worse one. // to compute the worse one.
......
...@@ -76,7 +76,7 @@ type Dialer struct { ...@@ -76,7 +76,7 @@ type Dialer struct {
// Cancel is an optional channel whose closure indicates that // Cancel is an optional channel whose closure indicates that
// the dial should be canceled. Not all types of dials support // the dial should be canceled. Not all types of dials support
// cancelation. // cancellation.
// //
// Deprecated: Use DialContext instead. // Deprecated: Use DialContext instead.
Cancel <-chan struct{} Cancel <-chan struct{}
......
...@@ -463,7 +463,7 @@ func TestDialParallelSpuriousConnection(t *testing.T) { ...@@ -463,7 +463,7 @@ func TestDialParallelSpuriousConnection(t *testing.T) {
origTestHookDialTCP := testHookDialTCP origTestHookDialTCP := testHookDialTCP
defer func() { testHookDialTCP = origTestHookDialTCP }() defer func() { testHookDialTCP = origTestHookDialTCP }()
testHookDialTCP = func(ctx context.Context, net string, laddr, raddr *TCPAddr) (*TCPConn, error) { testHookDialTCP = func(ctx context.Context, net string, laddr, raddr *TCPAddr) (*TCPConn, error) {
// Sleep long enough for Happy Eyeballs to kick in, and inhibit cancelation. // Sleep long enough for Happy Eyeballs to kick in, and inhibit cancellation.
// This forces dialParallel to juggle two successful connections. // This forces dialParallel to juggle two successful connections.
time.Sleep(fallbackDelay * 2) time.Sleep(fallbackDelay * 2)
...@@ -865,7 +865,7 @@ func TestCancelAfterDial(t *testing.T) { ...@@ -865,7 +865,7 @@ func TestCancelAfterDial(t *testing.T) {
d := &Dialer{Cancel: cancel} d := &Dialer{Cancel: cancel}
c, err := d.Dial("tcp", ln.Addr().String()) c, err := d.Dial("tcp", ln.Addr().String())
// Immediately after dialing, request cancelation and sleep. // Immediately after dialing, request cancellation and sleep.
// Before Issue 15078 was fixed, this would cause subsequent operations // Before Issue 15078 was fixed, this would cause subsequent operations
// to fail with an i/o timeout roughly 50% of the time. // to fail with an i/o timeout roughly 50% of the time.
close(cancel) close(cancel)
......
...@@ -100,7 +100,7 @@ type Client struct { ...@@ -100,7 +100,7 @@ type Client struct {
// For compatibility, the Client will also use the deprecated // For compatibility, the Client will also use the deprecated
// CancelRequest method on Transport if found. New // CancelRequest method on Transport if found. New
// RoundTripper implementations should use the Request's Context // RoundTripper implementations should use the Request's Context
// for cancelation instead of implementing CancelRequest. // for cancellation instead of implementing CancelRequest.
Timeout time.Duration Timeout time.Duration
} }
...@@ -643,7 +643,7 @@ func (c *Client) do(req *Request) (retres *Response, reterr error) { ...@@ -643,7 +643,7 @@ func (c *Client) do(req *Request) (retres *Response, reterr error) {
reqBodyClosed = true reqBodyClosed = true
if !deadline.IsZero() && didTimeout() { if !deadline.IsZero() && didTimeout() {
err = &httpError{ err = &httpError{
// TODO: early in cycle: s/Client.Timeout exceeded/timeout or context cancelation/ // TODO: early in cycle: s/Client.Timeout exceeded/timeout or context cancellation/
err: err.Error() + " (Client.Timeout exceeded while awaiting headers)", err: err.Error() + " (Client.Timeout exceeded while awaiting headers)",
timeout: true, timeout: true,
} }
...@@ -870,7 +870,7 @@ func (b *cancelTimerBody) Read(p []byte) (n int, err error) { ...@@ -870,7 +870,7 @@ func (b *cancelTimerBody) Read(p []byte) (n int, err error) {
} }
if b.reqDidTimeout() { if b.reqDidTimeout() {
err = &httpError{ err = &httpError{
// TODO: early in cycle: s/Client.Timeout exceeded/timeout or context cancelation/ // TODO: early in cycle: s/Client.Timeout exceeded/timeout or context cancellation/
err: err.Error() + " (Client.Timeout exceeded while reading body)", err: err.Error() + " (Client.Timeout exceeded while reading body)",
timeout: true, timeout: true,
} }
......
...@@ -19,7 +19,7 @@ import ( ...@@ -19,7 +19,7 @@ import (
const maxInt64 = 1<<63 - 1 const maxInt64 = 1<<63 - 1
// aLongTimeAgo is a non-zero time, far in the past, used for // aLongTimeAgo is a non-zero time, far in the past, used for
// immediate cancelation of network operations. // immediate cancellation of network operations.
var aLongTimeAgo = time.Unix(1, 0) var aLongTimeAgo = time.Unix(1, 0)
// TODO(bradfitz): move common stuff here. The other files have accumulated // TODO(bradfitz): move common stuff here. The other files have accumulated
......
...@@ -327,7 +327,7 @@ type Request struct { ...@@ -327,7 +327,7 @@ type Request struct {
// The returned context is always non-nil; it defaults to the // The returned context is always non-nil; it defaults to the
// background context. // background context.
// //
// For outgoing client requests, the context controls cancelation. // For outgoing client requests, the context controls cancellation.
// //
// For incoming server requests, the context is canceled when the // For incoming server requests, the context is canceled when the
// client's connection closes, the request is canceled (with HTTP/2), // client's connection closes, the request is canceled (with HTTP/2),
......
...@@ -453,7 +453,7 @@ func (up *socksUsernamePassword) Authenticate(ctx context.Context, rw io.ReadWri ...@@ -453,7 +453,7 @@ func (up *socksUsernamePassword) Authenticate(ctx context.Context, rw io.ReadWri
b = append(b, up.Username...) b = append(b, up.Username...)
b = append(b, byte(len(up.Password))) b = append(b, byte(len(up.Password)))
b = append(b, up.Password...) b = append(b, up.Password...)
// TODO(mikio): handle IO deadlines and cancelation if // TODO(mikio): handle IO deadlines and cancellation if
// necessary // necessary
if _, err := rw.Write(b); err != nil { if _, err := rw.Write(b); err != nil {
return err return err
......
...@@ -1039,7 +1039,7 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC ...@@ -1039,7 +1039,7 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC
t.decHostConnCount(cmKey) t.decHostConnCount(cmKey)
select { select {
case <-req.Cancel: case <-req.Cancel:
// It was an error due to cancelation, so prioritize that // It was an error due to cancellation, so prioritize that
// error value. (Issue 16049) // error value. (Issue 16049)
return nil, errRequestCanceledConn return nil, errRequestCanceledConn
case <-req.Context().Done(): case <-req.Context().Done():
...@@ -1050,7 +1050,7 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC ...@@ -1050,7 +1050,7 @@ func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistC
} }
return nil, err return nil, err
default: default:
// It wasn't an error due to cancelation, so // It wasn't an error due to cancellation, so
// return the original error message: // return the original error message:
return nil, v.err return nil, v.err
} }
...@@ -1557,7 +1557,7 @@ func (pc *persistConn) isBroken() bool { ...@@ -1557,7 +1557,7 @@ func (pc *persistConn) isBroken() bool {
} }
// canceled returns non-nil if the connection was closed due to // canceled returns non-nil if the connection was closed due to
// CancelRequest or due to context cancelation. // CancelRequest or due to context cancellation.
func (pc *persistConn) canceled() error { func (pc *persistConn) canceled() error {
pc.mu.Lock() pc.mu.Lock()
defer pc.mu.Unlock() defer pc.mu.Unlock()
...@@ -1813,7 +1813,7 @@ func (pc *persistConn) readLoop() { ...@@ -1813,7 +1813,7 @@ func (pc *persistConn) readLoop() {
// Before looping back to the top of this function and peeking on // Before looping back to the top of this function and peeking on
// the bufio.Reader, wait for the caller goroutine to finish // the bufio.Reader, wait for the caller goroutine to finish
// reading the response body. (or for cancelation or death) // reading the response body. (or for cancellation or death)
select { select {
case bodyEOF := <-waitForBodyRead: case bodyEOF := <-waitForBodyRead:
pc.t.setReqCanceler(rc.req, nil) // before pc might return to idle pool pc.t.setReqCanceler(rc.req, nil) // before pc might return to idle pool
......
...@@ -2114,7 +2114,7 @@ func testCancelRequestWithChannelBeforeDo(t *testing.T, withCtx bool) { ...@@ -2114,7 +2114,7 @@ func testCancelRequestWithChannelBeforeDo(t *testing.T, withCtx bool) {
} }
} else { } else {
if err == nil || !strings.Contains(err.Error(), "canceled") { if err == nil || !strings.Contains(err.Error(), "canceled") {
t.Errorf("Do error = %v; want cancelation", err) t.Errorf("Do error = %v; want cancellation", err)
} }
} }
} }
......
...@@ -255,7 +255,7 @@ func (r *Resolver) lookupIPAddr(ctx context.Context, network, host string) ([]IP ...@@ -255,7 +255,7 @@ func (r *Resolver) lookupIPAddr(ctx context.Context, network, host string) ([]IP
resolverFunc = alt resolverFunc = alt
} }
// We don't want a cancelation of ctx to affect the // We don't want a cancellation of ctx to affect the
// lookupGroup operation. Otherwise if our context gets // lookupGroup operation. Otherwise if our context gets
// canceled it might cause an error to be returned to a lookup // canceled it might cause an error to be returned to a lookup
// using a completely different context. However we need to preserve // using a completely different context. However we need to preserve
......
...@@ -473,7 +473,7 @@ func (e *OpError) Error() string { ...@@ -473,7 +473,7 @@ func (e *OpError) Error() string {
var ( var (
// aLongTimeAgo is a non-zero time, far in the past, used for // aLongTimeAgo is a non-zero time, far in the past, used for
// immediate cancelation of dials. // immediate cancellation of dials.
aLongTimeAgo = time.Unix(1, 0) aLongTimeAgo = time.Unix(1, 0)
// nonDeadline and noCancel are just zero values for // nonDeadline and noCancel are just zero values for
......
...@@ -514,7 +514,7 @@ func TestReadWriteDeadlineRace(t *testing.T) { ...@@ -514,7 +514,7 @@ func TestReadWriteDeadlineRace(t *testing.T) {
} }
// TestRacyRead tests that it is safe to mutate the input Read buffer // TestRacyRead tests that it is safe to mutate the input Read buffer
// immediately after cancelation has occurred. // immediately after cancellation has occurred.
func TestRacyRead(t *testing.T) { func TestRacyRead(t *testing.T) {
t.Parallel() t.Parallel()
...@@ -553,7 +553,7 @@ func TestRacyRead(t *testing.T) { ...@@ -553,7 +553,7 @@ func TestRacyRead(t *testing.T) {
} }
// TestRacyWrite tests that it is safe to mutate the input Write buffer // TestRacyWrite tests that it is safe to mutate the input Write buffer
// immediately after cancelation has occurred. // immediately after cancellation has occurred.
func TestRacyWrite(t *testing.T) { func TestRacyWrite(t *testing.T) {
t.Parallel() t.Parallel()
......
...@@ -41,7 +41,7 @@ var sigtable = [...]sigTabT{ ...@@ -41,7 +41,7 @@ var sigtable = [...]sigTabT{
/* 33 */ {_SigNotify, "SIGLWP: reserved signal no longer used by"}, /* 33 */ {_SigNotify, "SIGLWP: reserved signal no longer used by"},
/* 34 */ {_SigNotify, "SIGFREEZE: special signal used by CPR"}, /* 34 */ {_SigNotify, "SIGFREEZE: special signal used by CPR"},
/* 35 */ {_SigNotify, "SIGTHAW: special signal used by CPR"}, /* 35 */ {_SigNotify, "SIGTHAW: special signal used by CPR"},
/* 36 */ {_SigSetStack + _SigUnblock, "SIGCANCEL: reserved signal for thread cancellation"}, // Oracle's spelling of cancelation. /* 36 */ {_SigSetStack + _SigUnblock, "SIGCANCEL: reserved signal for thread cancellation"}, // Oracle's spelling of cancellation.
/* 37 */ {_SigNotify, "SIGLOST: resource lost (eg, record-lock lost)"}, /* 37 */ {_SigNotify, "SIGLOST: resource lost (eg, record-lock lost)"},
/* 38 */ {_SigNotify, "SIGXRES: resource control exceeded"}, /* 38 */ {_SigNotify, "SIGXRES: resource control exceeded"},
/* 39 */ {_SigNotify, "SIGJVM1: reserved signal for Java Virtual Machine"}, /* 39 */ {_SigNotify, "SIGJVM1: reserved signal for Java Virtual Machine"},
......
...@@ -138,7 +138,7 @@ func testPingPong(t *testing.T, c1, c2 net.Conn) { ...@@ -138,7 +138,7 @@ func testPingPong(t *testing.T, c1, c2 net.Conn) {
} }
// testRacyRead tests that it is safe to mutate the input Read buffer // testRacyRead tests that it is safe to mutate the input Read buffer
// immediately after cancelation has occurred. // immediately after cancellation has occurred.
func testRacyRead(t *testing.T, c1, c2 net.Conn) { func testRacyRead(t *testing.T, c1, c2 net.Conn) {
go chunkedCopy(c2, rand.New(rand.NewSource(0))) go chunkedCopy(c2, rand.New(rand.NewSource(0)))
...@@ -166,7 +166,7 @@ func testRacyRead(t *testing.T, c1, c2 net.Conn) { ...@@ -166,7 +166,7 @@ func testRacyRead(t *testing.T, c1, c2 net.Conn) {
} }
// testRacyWrite tests that it is safe to mutate the input Write buffer // testRacyWrite tests that it is safe to mutate the input Write buffer
// immediately after cancelation has occurred. // immediately after cancellation has occurred.
func testRacyWrite(t *testing.T, c1, c2 net.Conn) { func testRacyWrite(t *testing.T, c1, c2 net.Conn) {
go chunkedCopy(ioutil.Discard, c2) go chunkedCopy(ioutil.Discard, c2)
...@@ -314,7 +314,7 @@ func testCloseTimeout(t *testing.T, c1, c2 net.Conn) { ...@@ -314,7 +314,7 @@ func testCloseTimeout(t *testing.T, c1, c2 net.Conn) {
defer wg.Wait() defer wg.Wait()
wg.Add(3) wg.Add(3)
// Test for cancelation upon connection closure. // Test for cancellation upon connection closure.
c1.SetDeadline(neverTimeout) c1.SetDeadline(neverTimeout)
go func() { go func() {
defer wg.Done() defer wg.Done()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment