Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
golang/go
0xmohit/go
95rangerxlt/go
Acidburn0zzz/go
Amd64R/go-1
Anthonymcqueen21/go
AnuchitO/go
Ares2013/go
BPI-SINOVOIP/go
BPing/go
BlackEragon/go
BubbleEric/go
Buddhilive/go
CNXTEoEorg/go
Caplost/go
ChiefMage/go
Citizenxin/go
DanielMorsing/go
Davidzhu001/go-1
Demznak/go
FiloSottile/go
GerogeZero/go
GoesToEleven/go
GuSWRolland/go
HCLAC/go
HogLang/hog
Hossein1995/go
Janatbek/go
JeremyChenn/go
Joyionline/go
JsCrimson/go
LgJianzhao/go
LittleRiverLian/go
LouisJenkinsCS/Go_With_Concurrent_Map_Builtin
March4/go
MarcusChang/go
Ndekere/go
OlgorittRobot/go
PEPE-net/go
Patrickofdyq/go
PhillipSz/go
RiverLempel/go
Rojackse/go
SeungKyun/go
SouthernCharmz/go
SpiderOak/go
SpivEgin/go
Sreng-S/go
TangTHL/go
TelegramSupport/go
TheByteKnight/go
VFOXITChick/go
VukDukic/go
WEI-HE/go
XenoAmess/go-free
Young55555/go
ZoranWong/go
aatmaca/go
adamgj/go
aj07/go
akaros/go-akaros
alash3al/go
alcret/go
alexrao/go
algorithmically/go
alimnastaev/go
aminger/go
amirdaneshvar/go
anlhord/go
anydream/gg
ascheglov/go
bernerdschaefer/atman
blackkking/go
boolinking/go
bruceloo/go
cag/go
cchamplin/go
ceseo/go
chenange/go
chenduzi/go
chmodawk/go
christopher-henderson/GoSearch
cookerzhu/go
cxytujie/go
cyberroadie/go-sctp
cyysu/go
dangen-effy/go
deeokay/go
devfeel/go
dhirajsharma/go
dlg-yahoo/go
dojotech/go
dsw0214/go
dvandra/go
ercanucan/go
ericlakich/go
freeliver/go
freezehe/go
gavinzhs/go
gdey/go
getlantern/go
githubwbs/go-1
glaubitz/go
gopher-lang/gopher
gtd138/go
haylhf/go
henrylee2cn/go
hnes/go-tool-trace-greediest-goroutines
hsiven/go
ibrahimdraidia/go
iexpos/go
iftikharuddin/go
imagineagents/go
imkira/go
jessicah/go
jjjhrl/go
johnkushkorov/go
josuamarcelc/go
jpoirier/go
khamuul/go
kingslair/go
lattera/go
leizhendong/go
letsencrypt/go
lifeNrun/go
linux-on-ibm-z/go
linxueyi2230/go
lokifist/go
lokistone/go
lucasmrthomaz/go
luisulbaranleonTSCI/go
luoyangen/go
macressler/go
marzwu/go
mcanthony/go
mengqingshare/go
mesb/go
mike10001/go
mingodad/go
minux/goios
mittywalter/go
mmcloughlin/go
mrmuxl/go
msn217/go
nadiasvertex/go
nataliegryphon/go
neelance/go
niilante/go
noodmaketest/go
nuuyoo/go
opptinmer/go
palmin/go
peterfarouk01/go
philhofer/go
phuslu/go
polaris1119/go
powertechpreview/go
qinchao0525/go
qxj006/go
rare/go
rdterner/go
roth1002/go
rsc/go
sakishum/go
sebastianviera/go
shadowsocks/go
shae1988/go
shailesh17/go
shenjinxi/go
shijuvar/go
shyamalschandra/go
sky101010ws/go
slavau/go
smallerhand/go
soloos/go
status-im/go
stormltf/go
sujiahong/go
sujunbo/go
tgin/go
u35s/go
v2pro/koala-go
varver/go
wfw727/go
woollplus/go
worawit/go
wubob/go
xiezhenye/go
ximiabc/go
xizhixing/go
xuanxinhuiqing/go
xuhaitao/go
yell-li/go
ylck/go
yuriigithub/go
zcwfeng/go
zhangdianchao/go
zhouzhengde/go
zmoon111/go
zwyzzu/go
Nothing to show
Choose a Head Repository
golang/go
0xmohit/go
95rangerxlt/go
Acidburn0zzz/go
Amd64R/go-1
Anthonymcqueen21/go
AnuchitO/go
Ares2013/go
BPI-SINOVOIP/go
BPing/go
BlackEragon/go
BubbleEric/go
Buddhilive/go
CNXTEoEorg/go
Caplost/go
ChiefMage/go
Citizenxin/go
DanielMorsing/go
Davidzhu001/go-1
Demznak/go
FiloSottile/go
GerogeZero/go
GoesToEleven/go
GuSWRolland/go
HCLAC/go
HogLang/hog
Hossein1995/go
Janatbek/go
JeremyChenn/go
Joyionline/go
JsCrimson/go
LgJianzhao/go
LittleRiverLian/go
LouisJenkinsCS/Go_With_Concurrent_Map_Builtin
March4/go
MarcusChang/go
Ndekere/go
OlgorittRobot/go
PEPE-net/go
Patrickofdyq/go
PhillipSz/go
RiverLempel/go
Rojackse/go
SeungKyun/go
SouthernCharmz/go
SpiderOak/go
SpivEgin/go
Sreng-S/go
TangTHL/go
TelegramSupport/go
TheByteKnight/go
VFOXITChick/go
VukDukic/go
WEI-HE/go
XenoAmess/go-free
Young55555/go
ZoranWong/go
aatmaca/go
adamgj/go
aj07/go
akaros/go-akaros
alash3al/go
alcret/go
alexrao/go
algorithmically/go
alimnastaev/go
aminger/go
amirdaneshvar/go
anlhord/go
anydream/gg
ascheglov/go
bernerdschaefer/atman
blackkking/go
boolinking/go
bruceloo/go
cag/go
cchamplin/go
ceseo/go
chenange/go
chenduzi/go
chmodawk/go
christopher-henderson/GoSearch
cookerzhu/go
cxytujie/go
cyberroadie/go-sctp
cyysu/go
dangen-effy/go
deeokay/go
devfeel/go
dhirajsharma/go
dlg-yahoo/go
dojotech/go
dsw0214/go
dvandra/go
ercanucan/go
ericlakich/go
freeliver/go
freezehe/go
gavinzhs/go
gdey/go
getlantern/go
githubwbs/go-1
glaubitz/go
gopher-lang/gopher
gtd138/go
haylhf/go
henrylee2cn/go
hnes/go-tool-trace-greediest-goroutines
hsiven/go
ibrahimdraidia/go
iexpos/go
iftikharuddin/go
imagineagents/go
imkira/go
jessicah/go
jjjhrl/go
johnkushkorov/go
josuamarcelc/go
jpoirier/go
khamuul/go
kingslair/go
lattera/go
leizhendong/go
letsencrypt/go
lifeNrun/go
linux-on-ibm-z/go
linxueyi2230/go
lokifist/go
lokistone/go
lucasmrthomaz/go
luisulbaranleonTSCI/go
luoyangen/go
macressler/go
marzwu/go
mcanthony/go
mengqingshare/go
mesb/go
mike10001/go
mingodad/go
minux/goios
mittywalter/go
mmcloughlin/go
mrmuxl/go
msn217/go
nadiasvertex/go
nataliegryphon/go
neelance/go
niilante/go
noodmaketest/go
nuuyoo/go
opptinmer/go
palmin/go
peterfarouk01/go
philhofer/go
phuslu/go
polaris1119/go
powertechpreview/go
qinchao0525/go
qxj006/go
rare/go
rdterner/go
roth1002/go
rsc/go
sakishum/go
sebastianviera/go
shadowsocks/go
shae1988/go
shailesh17/go
shenjinxi/go
shijuvar/go
shyamalschandra/go
sky101010ws/go
slavau/go
smallerhand/go
soloos/go
status-im/go
stormltf/go
sujiahong/go
sujunbo/go
tgin/go
u35s/go
v2pro/koala-go
varver/go
wfw727/go
woollplus/go
worawit/go
wubob/go
xiezhenye/go
ximiabc/go
xizhixing/go
xuanxinhuiqing/go
xuhaitao/go
yell-li/go
ylck/go
yuriigithub/go
zcwfeng/go
zhangdianchao/go
zhouzhengde/go
zmoon111/go
zwyzzu/go
Nothing to show
  • 10 commits
  • 15 files changed
  • 2 commit comments
  • 5 contributors
Commits on Aug 04, 2016
runtime: initialize hash algs before typemap
When compiling with -buildmode=shared, a map[int32]*_type is created for
each extra module mapping duplicate types back to a canonical object.
This is done in the function typelinksinit, which is called before the
init function that sets up the hash functions for the map
implementation. The result is typemap becomes unusable after
runtime initialization.

The fix in this CL is to move algorithm init before typelinksinit in
the runtime setup process. (For 1.8, we may want to turn typemap into
a sorted slice of types and use binary search.)

Manually tested on GOOS=linux with:

	GOHOSTARCH=386 GOARCH=386 ./make.bash && \
		go install -buildmode=shared std && \
		cd ../test && \
		go run run.go -linkshared

Fixes #16590

Change-Id: Idc08c50cc70d20028276fbf564509d2cd5405210
Reviewed-on: https://go-review.googlesource.com/25469
Run-TryBot: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
syscall: fix Gettimeofday on macOS Sierra
Fixes #16606

Change-Id: I57465061b90e901293cd8b6ef756d6aa84ebd4a3
Reviewed-on: https://go-review.googlesource.com/25495
Reviewed-by: Quentin Smith <quentin@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Quentin Smith <quentin@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Commits on Aug 05, 2016
net/http: update bundled http2 for flow control window adjustment fix
Updates bundled http2 to x/net/http2 git rev 075e191 for:

   http2: adjust flow control on open streams when processing SETTINGS
   https://golang.org/cl/25508

Fixes #16612

Change-Id: Ib0513201bff44ab747a574ae6894479325c105d2
Reviewed-on: https://go-review.googlesource.com/25543
Run-TryBot: Chris Broadfoot <cbro@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Chris Broadfoot <cbro@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
os: check for waitid returning ENOSYS
Reportedly waitid is not available for Ubuntu on Windows.

Fixes #16610.

Change-Id: Ia724f45a85c6d3467b847da06d8c65d280781dcd
Reviewed-on: https://go-review.googlesource.com/25507
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
runtime, syscall: fix kernel gettimeofday ABI change on iOS 10
Fixes #16570 on iOS.

Thanks Daniel Burhans for reporting the bug and testing the fix.

Change-Id: I43ae7b78c8f85a131ed3d93ea59da9f32a02cd8f
Reviewed-on: https://go-review.googlesource.com/25481
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
runtime: make stack 16-byte aligned for external code in _rt0_amd64_l…
…inux_lib

Fixes #16618.

Change-Id: Iffada12e8672bbdbcf2e787782c497e2c45701b1
Reviewed-on: https://go-review.googlesource.com/25550
Run-TryBot: Minux Ma <minux@golang.org>
Reviewed-by: Arjan Van De Ven <arjan.van.de.ven@intel.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Commits on Aug 06, 2016
doc: fix required OS X version inconsistency for binary downloads
Updates #16625

Change-Id: Icac6705828bd9b29379596ba64b34d922b9002c3
Reviewed-on: https://go-review.googlesource.com/25548
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Commits on Aug 08, 2016
net/http: make Transport use new connection if over HTTP/2 concurrenc…
…y limit

The Go HTTP/1 client will make as many new TCP connections as the user requests.

The HTTP/2 client tried to have that behavior, but the policy of
whether a connection is re-usable didn't take into account the extra 1
stream counting against SETTINGS_MAX_CONCURRENT_STREAMS so in practice
users were getting errors.

For example, if the server's advertised max concurrent streams is 100
and 200 concurrrent Go HTTP requests ask for a connection at once, all
200 will think they can reuse that TCP connection, but then 100 will
fail later when the number of concurrent streams exceeds 100.

Instead, recognize the "no cached connections" error value in the
shouldRetryRequest method, so those 100 will retry a new connection.

This is the conservative fix for Go 1.7 so users don't get errors, and
to match the HTTP/1 behavior. Issues #13957 and #13774 are the more
involved bugs for Go 1.8.

Updates #16582
Updates #13957

Change-Id: I1f15a7ce60c07a4baebca87675836d6fe03993e8
Reviewed-on: https://go-review.googlesource.com/25580
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Chris Broadfoot <cbro@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
all: merge master into release-branch.go1.7
7a62274 net/http: make Transport use new connection if over HTTP/2 concurrency limit
219ca60 doc: fix required OS X version inconsistency for binary downloads
26015b9 runtime: make stack 16-byte aligned for external code in _rt0_amd64_linux_lib
9fde86b runtime, syscall: fix kernel gettimeofday ABI change on iOS 10
3a03e87 os: check for waitid returning ENOSYS
1031675 net/http: update bundled http2 for flow control window adjustment fix
da070be syscall: fix Gettimeofday on macOS Sierra
f135c32 runtime: initialize hash algs before typemap

Change-Id: Ie176f3db1e253d75ae8e56b16d3fd9900b37dde3
go1.7rc6
Change-Id: Ie76b5af0ecc4c64c523110b44483c06e7031237c
Reviewed-on: https://go-review.googlesource.com/25582
Reviewed-by: Chris Broadfoot <cbro@golang.org>
View
@@ -1 +1 @@
go1.7rc5
go1.7rc6
View
@@ -17,7 +17,7 @@ <h2 id="download">Download the Go distribution</h2>
<p>
<a href="https://golang.org/dl/" target="_blank">Official binary
distributions</a> are available for the FreeBSD (release 8-STABLE and above),
Linux, Mac OS X (10.7 and above), and Windows operating systems and
Linux, Mac OS X (10.8 and above), and Windows operating systems and
the 32-bit (<code>386</code>) and 64-bit (<code>amd64</code>) x86 processor
architectures.
</p>
@@ -49,7 +49,7 @@ <h2 id="requirements">System requirements</h2>
<tr><td colspan="3"><hr></td></tr>
<tr><td>FreeBSD 8-STABLE or later</td> <td>amd64</td> <td>Debian GNU/kFreeBSD not supported</td></tr>
<tr><td>Linux 2.6.23 or later with glibc</td> <td>amd64, 386, arm</td> <td>CentOS/RHEL 5.x not supported</td></tr>
<tr><td>Mac OS X 10.7 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>&#8224;</sup> that comes with Xcode<sup>&#8225;</sup></td></tr>
<tr><td>Mac OS X 10.7 or later</td> <td>amd64</td> <td>use the clang or gcc<sup>&#8224;</sup> that comes with Xcode<sup>&#8225;</sup> for <code>cgo</code> support</td></tr>
<tr><td>Windows XP or later</td> <td>amd64, 386</td> <td>use MinGW gcc<sup>&#8224;</sup>. No need for cygwin or msys.</td></tr>
</table>
View

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -398,6 +398,15 @@ func (t *Transport) RoundTrip(req *Request) (*Response, error) {
// HTTP request on a new connection. The non-nil input error is the
// error from roundTrip.
func (pc *persistConn) shouldRetryRequest(req *Request, err error) bool {
if err == http2ErrNoCachedConn {
// Issue 16582: if the user started a bunch of
// requests at once, they can all pick the same conn
// and violate the server's max concurrent streams.
// Instead, match the HTTP/1 behavior for now and dial
// again to get a new TCP connection, rather than failing
// this request.
return true
}
if err == errMissingHost {
// User error.
return false
View
@@ -28,6 +28,12 @@ func (p *Process) blockUntilWaitable() (bool, error) {
_, _, e := syscall.Syscall6(syscall.SYS_WAITID, _P_PID, uintptr(p.Pid), uintptr(unsafe.Pointer(psig)), syscall.WEXITED|syscall.WNOWAIT, 0, 0)
runtime.KeepAlive(psig)
if e != 0 {
// waitid has been available since Linux 2.6.9, but
// reportedly is not available in Ubuntu on Windows.
// See issue 16610.
if e == syscall.ENOSYS {
return false, nil
}
return false, NewSyscallError("waitid", e)
}
return true, nil
View
@@ -289,7 +289,7 @@ var aeskeysched [hashRandomBytes]byte
// used in hash{32,64}.go to seed the hash function
var hashkey [4]uintptr
func init() {
func alginit() {
// Install aes hash algorithm if we have the instructions we need
if (GOARCH == "386" || GOARCH == "amd64") &&
GOOS != "nacl" &&
Oops, something went wrong.

Showing you all comments on commits in this comparison.

@ashishgandhi

This comment has been minimized.

Show comment
Hide comment
@ashishgandhi

ashishgandhi Aug 10, 2016

Contributor

Maybe this is not the place to ask @bradfitz but maybe it is. When does one prefer this format over tv := new(syscall.Timeval)?

Contributor

ashishgandhi commented on da070be Aug 10, 2016

Maybe this is not the place to ask @bradfitz but maybe it is. When does one prefer this format over tv := new(syscall.Timeval)?

@ianlancetaylor

This comment has been minimized.

Show comment
Hide comment
@ianlancetaylor

ianlancetaylor Aug 10, 2016

Contributor

In my experience people rarely use new in Go. It's not strictly necessary and only occasionally convenient.

Contributor

ianlancetaylor commented on da070be Aug 10, 2016

In my experience people rarely use new in Go. It's not strictly necessary and only occasionally convenient.