]> Cypherpunks repositories - gostls13.git/commit
net: fix data races on deadline vars
authorDave Cheney <dave@cheney.net>
Wed, 5 Dec 2012 04:59:01 +0000 (15:59 +1100)
committerDave Cheney <dave@cheney.net>
Wed, 5 Dec 2012 04:59:01 +0000 (15:59 +1100)
commit9fb96991e63033ba963c7b1eff10e5c4f5a93b0a
treebf1ea0ec50108e450a7b383a09d3e66b1383913e
parent4855c1c14589de01140087f93ecbd9153c9b1a8b
net: fix data races on deadline vars

Fixes #4434.

This proposal replaces the previous CL 6855110. Due to issue 599, 64-bit atomic operations should probably be avoided, so use a sync.Mutex instead.

Benchmark comparisons against 025b9d070a85 on linux/386:

CL 6855110:

benchmark                        old ns/op    new ns/op    delta
BenchmarkTCPOneShot                 710024       727409   +2.45%
BenchmarkTCPOneShotTimeout          758178       768620   +1.38%
BenchmarkTCPPersistent              223464       228058   +2.06%
BenchmarkTCPPersistentTimeout       234494       242600   +3.46%

This proposal:

benchmark                        old ns/op    new ns/op    delta
BenchmarkTCPOneShot                 710024       718492   +1.19%
BenchmarkTCPOneShotTimeout          758178       748783   -1.24%
BenchmarkTCPPersistent              223464       227628   +1.86%
BenchmarkTCPPersistentTimeout       234494       238321   +1.63%

R=rsc, dvyukov, mikioh.mikioh, alex.brainman, bradfitz
CC=golang-dev, remyoudompheng
https://golang.org/cl/6866050
src/pkg/net/fd_posix_test.go [new file with mode: 0644]
src/pkg/net/fd_unix.go
src/pkg/net/fd_windows.go
src/pkg/net/net.go
src/pkg/net/sendfile_freebsd.go
src/pkg/net/sendfile_linux.go
src/pkg/net/sock_posix.go
src/pkg/net/sockopt_posix.go