- 08 Mar, 2013 1 commit
-
-
Brad Fitzpatrick authored
Implement what Chrome calls socket "late binding". See: https://insouciant.org/tech/connection-management-in-chromium/ In a nutshell, if our HTTP client needs a TCP connection to a remote host and there's not an idle one available, rather than kick off a dial and wait for that specific dial, we instead kick off a dial and wait for either our own dial to finish, or any other TCP connection to that same host to become available. The implementation looks like a classic "Learning Go Concurrency" slide. Chrome's commit and numbers: http://src.chromium.org/viewvc/chrome?view=rev&revision=36230 R=golang-dev, daniel.morsing, adg CC=golang-dev https://golang.org/cl/7587043
-
- 07 Mar, 2013 19 commits
-
-
Akshat Kumar authored
Change 231af8ac63aa (CL 7314062) made runtime.enteryscall() set m->mcache = nil, which means that we can no longer use syscall.errstr in syscall.Syscall and syscall.Syscall6, since it requires a new buffer to be allocated for holding the error string. Instead, we use pre-allocated per-M storage to hold error strings from syscalls made while in entersyscall mode, and call runtime.findnull to calculate the lengths. Fixes #4994. R=rsc, rminnich, ality, dvyukov, rminnich, r CC=golang-dev https://golang.org/cl/7567043
-
Mikio Hara authored
This CL splits multicast listener tests into two; for IPv4 and for IPv6. It also removes redundant test inputs and makes sure that assignment of multicast interface to stablize the tests. Fixes #4059. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7565043
-
Keith Randall authored
Instructions for use in AES hashing. See CL#7543043 R=rsc CC=golang-dev https://golang.org/cl/7548043
-
Rémy Oudompheng authored
The code would violate the contract of cmp64. Fixes #5002. R=rsc, golang-dev CC=golang-dev https://golang.org/cl/7593043
-
Brad Fitzpatrick authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/7595043
-
Russ Cox authored
TBR=golang-dev CC=golang-dev https://golang.org/cl/7575046
-
Robert Griesemer authored
R=adonovan, bradfitz CC=golang-dev https://golang.org/cl/7492045
-
Dominik Honnef authored
Instead of relying on gofmt's diff output (which is a unified diff), we manually invoke diff -n and produce an RCS format diff, which can easily be parsed in Emacs, with the go--apply-rcs-patch function. This fixes undocumented issues with the old implementation such as skipping over hunks of changes, and it fixes the documented issue of not being able to handle file names that include whitespace. It can also apply the patch on a buffer that has no file name attached at all. Last but not least, it greatly simplifies the gofmt function itself. Fixes #4766. Fixes #4475. R=adonovan, cw, patrick.allen.higgins, sameer CC=golang-dev https://golang.org/cl/7516046
-
Dmitriy Vyukov authored
Move pollServer from fd_unix.go to fd_poll_unix.go. Add pollServerInit(*NetFD) to allow custom initialization. Add pollServer.Close(*NetFD) to allow custom finalization. Move setDeadline() to fd_poll_unix.go to allow custom handling of deadlines. Move newPollServer() to fd_poll_unix.go to allow custom initialization. No logical code changes. The next step will be to turn off fd_poll_unix.go for some platform (I have changes for darwin/linux) and redirect it into runtime. See: https://golang.org/cl/7569043/diff/2001/src/pkg/net/fd_poll_runtime.go R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7513045
-
Dmitriy Vyukov authored
The deadlock episodically occurs on misc/cgo/test/TestCthread. The problem is that starttheworld() leaves some P's with local work without M's. Then all active M's enter into syscalls, but reject to wake another M's due to the following check (both in entersyscallblock() and in retake()): if(p->runqhead == p->runqtail && runtime·atomicload(&runtime·sched.nmspinning) + runtime·atomicload(&runtime·sched.npidle) > 0) continue; R=rsc CC=golang-dev https://golang.org/cl/7424054
-
Russ Cox authored
Still to do: non-linux and non-amd64. It may work on other ELF-based amd64 systems too, but untested. "go test -ldflags -hostobj $GOROOT/misc/cgo/test" passes. Much may yet change, but this seems a reasonable checkpoint. R=iant CC=golang-dev https://golang.org/cl/7369057
-
Russ Cox authored
Fixes #4955. R=golang-dev, alex.brainman CC=golang-dev https://golang.org/cl/7563043
-
Dmitriy Vyukov authored
Ensure that accept/connect respect deadline, even if the operation can be executed w/o blocking. Note this changes external behavior, but it makes it consistent with read/write. Factor out deadline check into pollServer.PrepareRead/Write, in preparation for edge triggered pollServer. Ensure that pollServer.WaitRead/Write are not called concurrently by adding rio/wio locks around connect/accept. R=golang-dev, mikioh.mikioh, bradfitz, iant CC=golang-dev https://golang.org/cl/7436048
-
Mikio Hara authored
R=golang-dev, akumar CC=golang-dev https://golang.org/cl/7523044
-
Mikio Hara authored
R=golang-dev, akumar CC=golang-dev https://golang.org/cl/7564043
-
Tyler Bunnell authored
Fixes #4505. R=golang-dev, mikioh.mikioh CC=golang-dev https://golang.org/cl/7468043
-
Rob Pike authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/7551043
-
Robert Griesemer authored
Fixes #4982. R=adonovan, r CC=golang-dev https://golang.org/cl/7537043
-
Robert Griesemer authored
Also: - cleaner handling of constants w/ unknown value - removed several TODOs R=adonovan CC=golang-dev https://golang.org/cl/7473043
-
- 06 Mar, 2013 20 commits
-
-
Albert Strasheim authored
Fixes #4974. R=rsc, bradfitz, r CC=golang-dev https://golang.org/cl/7545043
-
Rob Pike authored
It's a common mistake to build a recursive String method; explain it well and show how to avoid it. R=golang-dev, bradfitz, adg CC=golang-dev https://golang.org/cl/7486049
-
Rob Pike authored
See also https://golang.org/cl/7520044 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7533044
-
Brad Fitzpatrick authored
Before: BenchmarkHeaderWriteSubset 500000 2354 ns/op 197 B/op 2 allocs/op After: BenchmarkHeaderWriteSubset 1000000 2085 ns/op 0 B/op 0 allocs/op Fixes #3761 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7508043
-
Russ Cox authored
Also emit cgo_ldflag pragmas. R=golang-dev, remyoudompheng, iant CC=golang-dev https://golang.org/cl/7530043
-
Russ Cox authored
TBR=bradfitz CC=golang-dev https://golang.org/cl/7540043
-
Russ Cox authored
TBR=golang-dev CC=golang-dev https://golang.org/cl/7539043
-
Russ Cox authored
Some IDS somewhere thinks "Go http package" is a virus. Make it something else for Go 1.1. Dumb but easy. R=golang-dev, bradfitz, minux.ma CC=golang-dev https://golang.org/cl/7532043
-
Rob Pike authored
This installs type checking into go vet. (To be removed before releasing Go 1.1) R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/7528044
-
Rob Pike authored
We can enable/disable type checking with a build tag. Should simplify cutting the go1.1 distribution free of go/types. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7482045
-
Russ Cox authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7523043
-
Rob Pike authored
Fixes #4522. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7502044
-
Ewan Chou authored
BenchmarkSplit1 77984460 24131380 -69.06% R=golang-dev, rsc, minux.ma, dave, extemporalgenome CC=golang-dev https://golang.org/cl/7458043
-
Russ Cox authored
Generated by addca. R=gobot CC=golang-dev https://golang.org/cl/7473047
-
Alex Brainman authored
R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/7486048
-
Alex Brainman authored
Fixes #4841. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7475046
-
Russ Cox authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7529043
-
Russ Cox authored
Now the default startup is that the program begins at _rt0_amd64_$GOOS, which sets DI = argc, SI = argv and jumps to _rt0_amd64. This makes the _rt0_amd64 entry match the expected semantics for the standard C "main" function, which we can now provide for use when linking against a standard C library. R=golang-dev, devon.odell, minux.ma CC=golang-dev https://golang.org/cl/7525043
-
Dominik Honnef authored
This CL adds compatibility for GNU Emacs 23 (fixing fontification issues) and XEmacs >=21.5.32 (fixing a lot of issues). Earlier versions of XEmacs will not be supported because they do not support POSIX character classes. Because of that, we also make use of a lot of functions that were added in 21.5.32. A known and currently unfixable issue with XEmacs is that go-mode will not always fontify identifiers that use unicode correctly. All changes for XEmacs are annotated in the diff. Note: go--position-bytes is not currently used anywhere, but will be in a future CL. Fixes #4927. R=golang-dev, adonovan, cw, patrick.allen.higgins, sameer CC=golang-dev https://golang.org/cl/7456051
-
Brad Fitzpatrick authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/7518044
-