- 29 Jun, 2017 2 commits
-
-
Brad Fitzpatrick authored
Updates http2 to x/net/http2 git rev d4223d6710a for: http2: refund connection flow control on DATA frames received after reset https://golang.org/cl/46591 Fixes #46591 Change-Id: I5e6999599e921fed279c6d29ae77439191e99615 Reviewed-on: https://go-review.googlesource.com/47096 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tom Bergan <tombergan@google.com>
-
Brad Fitzpatrick authored
And some double space after period cleanup while I'm here. I guess my previous regexps missed these. My next cleaner should probably use go/ast instead of perl. Updates #20221 Change-Id: Idb051e7ac3a7fb1fb86e015f709e32139d065d92 Reviewed-on: https://go-review.googlesource.com/47094Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
- 28 Jun, 2017 19 commits
-
-
Michael Stapelberg authored
Fixes #19713 Change-Id: Id1ca61b35bca2a4bea23dd64c7fb001a3a14fd88 Reviewed-on: https://go-review.googlesource.com/43512Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Fixes #20837. Change-Id: I266519c26c8849da267b77e11abe7734d8275112 Reviewed-on: https://go-review.googlesource.com/47074Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Austin Clements authored
Currently the execLock is a mutex, which has the unfortunate side-effect of serializing all thread creation. This replaces it with an rwmutex so threads can be created in parallel, but exec still blocks thread creation. Fixes #20738. Change-Id: Ia8f30a92053c3d28af460b0da71176abe5fd074b Reviewed-on: https://go-review.googlesource.com/47072 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Currently runtime.rwmutex is written to block the calling goroutine rather than the calling thread. However, rwmutex was intended to be used in the scheduler, which means it needs to be a thread-level synchronization primitive. Hence, this modifies rwmutex to synchronize threads instead of goroutines. This has the consequence of making it write-barrier-free, which is also important for using it in the scheduler. The implementation makes three changes: it replaces the "w" semaphore with a mutex, since this was all it was being used for anyway; it replaces "writerSem" with a single pending M that parks on its note; and it replaces "readerSem" with a list of Ms that park on their notes plus a pass count that together emulate a counting semaphore. I model-checked the safety and liveness of this implementation through >1 billion schedules. For #20738. Change-Id: I3cf5a18c266a96a3f38165083812803510217787 Reviewed-on: https://go-review.googlesource.com/47071 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Aliaksandr Valialkin authored
Prevent possible goroutine rescheduling to another P between Put and Get calls by locking the goroutine to OS thread. Inspired by the CL 42770. Fixes #20198. Change-Id: I18e24fcad1630658713e6b9d80d90d7941f604be Reviewed-on: https://go-review.googlesource.com/44310 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Alan Donovan authored
"Forward declaration" suggests that declarations must precede calls. Change-Id: I1b3a26b58f52a39bc11d75696df928a6b66c7313 Reviewed-on: https://go-review.googlesource.com/47073Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Meir Fischer authored
If the only way the user indicates they want alloc stats shown is via ReportAllocs, we don't know that until benchFunc is run. Therefore, StopTimer's ReadMemStats will return incorrect data for single cycle runs since there's no counterpart ReadMemStats from StartTimer that initializes alloc stats. It appears that this bug was introduced by CL 46612, "testing: only call ReadMemStats if necessary when benchmarking" Fixes #20590 Change-Id: I3b5ef91677823f4b98011880a3be15423baf7e33 Reviewed-on: https://go-review.googlesource.com/46612Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Updates #20836 Updates #19339 Updates #19652 Updates #20835 Updates #16511 Updates #10166 Updates #8574 Change-Id: If9a7f560489f1a8d628dafab227925bd8989326e Reviewed-on: https://go-review.googlesource.com/47036Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Change-Id: Ibbb89c01f3e812a0602961f959672fcb6523449b Reviewed-on: https://go-review.googlesource.com/47031 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Updates #20587 Change-Id: If35868345d9697d4afa2e9c19b85e01d94c87908 Reviewed-on: https://go-review.googlesource.com/47034Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Shawn Walker-Salas authored
The test added for issue #18146 exposed a long-existing bug in the Solaris port; notably, that syscall.Exec uses RawSyscall -- which is not actually functional for the Solaris port (intentionally) and only exists as a placebo to satisfy build requirements. Call syscall.execve instead for Solaris. Fixes #20832 Change-Id: I327d863f4bbbbbb6e5ecf66b82152c4030825d09 Reviewed-on: https://go-review.googlesource.com/47032 Run-TryBot: Shawn Walker-Salas <shawn.walker@oracle.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ibrahim AshShohail authored
os.Chmod returns an error when passed a long path (>=260) characters on Windows. CL 32451 fixed most file functions in os. This change applies the same fix to os.Chmod. Fixes #20829 Change-Id: I3270db8317ce6e06e6d77070a32a5df6ab2491e0 Reviewed-on: https://go-review.googlesource.com/47010Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Kevin Burke authored
A common task is trying to get today's date in the local time zone with zero values for the hour, minute, second, and nanosecond fields. I tried this recently and incorrectly used Truncate(24*time.Hour), which truncates based on a UTC clock, and gave me 5pm Pacific time instead of midnight Pacific. I thought it would be helpful to show a "correct" way to do this. Change-Id: I479e6b0cc56367068530981ca69882b34febf945 Reviewed-on: https://go-review.googlesource.com/46833Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
Fixes #20830. Change-Id: I18178064c955ad8d259df05ee954075ae42909b0 Reviewed-on: https://go-review.googlesource.com/47030Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Cherry Zhang authored
Should use CMPL instead of CMPQ. Fixes #20811. Change-Id: I610d487949c2c8a08b3743656149069d931a51bb Reviewed-on: https://go-review.googlesource.com/46870Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
t.Sub(u) would be -20 milliseconds. The right computation is u.Sub(t), but rewrite to be even clearer. Thanks to Karsten Weiss for catching this. Change-Id: I6e274d69b0301840d57c5c65bf4114da0d33bf10 Reviewed-on: https://go-review.googlesource.com/46971 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Gabriel Nicolas Avellaneda authored
It should be $HOME/go instead of $HOME/work Change-Id: I22e0a89deff30f935c3e25a237d6c0c161103339 Reviewed-on: https://go-review.googlesource.com/46890Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Shawn Walker-Salas authored
Updates #20821 Change-Id: I77a5b9a3bbb931845ef52a479549d71069af9540 Reviewed-on: https://go-review.googlesource.com/46913 Run-TryBot: Shawn Walker-Salas <shawn.walker@oracle.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Joe Tsai authored
Prior to this change, if the Writer needed to use the PAX format, it would output a USTAR header with an empty name. This should be okay since the PAX specification dictates that the PAX record for "path" should override the semantic meaning of any of the old USTAR fields. Unfortunately, the implementation of tar on OpenBSD 6.1 is too strict with their handling of PAX files such that they check for the validity of this bogus field even though the PAX header is present. To allow Go's Writer output be parsible by OpenBSD's tar utility, we write a best-effort (ASCII-only and truncated) version of the original file name. Note that this still fails in some edge-cases (for example, a Chinese filename containing all non-ASCII characters). OpenBSD should really relax their checking, as you honestly can't always expect a sensible path to be generated when USTAR cannot handle the original path. Fixes #20707 Change-Id: Id7d77349023d2152d7291d582cd050b6681760e4 Reviewed-on: https://go-review.googlesource.com/46914 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 27 Jun, 2017 11 commits
-
-
Hiroshi Ioka authored
clang can emit some dwarf.VoidType which are wrapped by multiple dwarf.TypedefType. We need to unwrap those before further processing. Fixes #20129 Change-Id: I671ce6aef2dc7b55f1a02aec5f9789ac1b369643 Reviewed-on: https://go-review.googlesource.com/44772Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Also reword the testing/quick.Config field docs to conform to the normal subject-first style. Without that style, godoc links /pkg/testing/quick/#Config.Rand to the wrong line, since it doesn't recognize the preceding comment as necessarily being attached. Fixes #20809 Change-Id: I9aebbf763eed9b1ab1a153fa11850d88a65571c6 Reviewed-on: https://go-review.googlesource.com/46910Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #20810 Change-Id: I09365b2db50c41aa3383dd730859b6f2cdb78e63 Reviewed-on: https://go-review.googlesource.com/46836 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
If the LHS is unassignable, there's no point in trying to make sure the RHS can be assigned to it or making sure they're realizable types. This is consistent with go/types. In particular, this prevents "1 = 2" from causing a panic when "1" still ends up with the type "untyped int", which is not realizable. Fixes #20813. Change-Id: I4710bdaac2e375ef12ec29b888b8ac84fb640e56 Reviewed-on: https://go-review.googlesource.com/46835 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Martin Garton authored
Since Reader.Peek potentially reads from the underlying io.Reader, discarding previous buffers, UnreadRune and UnreadByte cannot necessarily work. Change Peek to invalidate the unread buffers in all cases (as allowed according to the documentation) and thus prevent hiding bugs in the caller. Fixes #18556 Change-Id: I8d836db7ce31c4aaecb4f61c24573b0332bbf30d Reviewed-on: https://go-review.googlesource.com/46850Reviewed-by: Robert Griesemer <gri@golang.org>
-
Brad Fitzpatrick authored
Test just doesn't work. Updates #20284 Change-Id: I31c3f771e68dcdc471767594a1467e19fbf5fe88 Reviewed-on: https://go-review.googlesource.com/46830 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@google.com>
-
Dong-hee Na authored
After https://golang.org/cl/46421 is landed. helpdoc.go should be updated that -buildmode=c-shared requires only one main package. Fixes #15082 Change-Id: I30a0ee956e6c4655c975ecdaa905887bd474952c Reviewed-on: https://go-review.googlesource.com/46810Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dmitri Shuralyov authored
Use 2 slashes, space, then tab. This is more consistent, and removes inadvertent leading space. Change-Id: I383770ed4eb8ac17c78c7ae5675b553d4fb70b1e Reviewed-on: https://go-review.googlesource.com/46726Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dmitri Shuralyov authored
This panic happens when the test fails due to the returned number of certificates (r.certs) being less than expected by test case (tc.cns). When i == len(r.certs) in the for loop, r.certs[i] will cause an index out of range panic. Also improve readability, consistency and style of the code. Use the more common "got x, want y" pattern. See https://golang.org/s/style#useful-test-failures for reference (and grep codebase for most common occurrences). Add a comment, and remove blank line separating two blocks that are both related to verifying that len(r.certs) == len(tc.cns). This should help with readability. Remove space after colon in call to t.Fatal, since it adds spaces between its arguments. Fixes #20801. Change-Id: I40476103f1b5a0fa74b05637c250926b571c92fd Reviewed-on: https://go-review.googlesource.com/46715 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Updates #18598 Change-Id: I13c60124714cf9d1537efa0a7dd1e6a0fed9ae5b Reviewed-on: https://go-review.googlesource.com/46723 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Gabríel Arthúr Pétursson authored
Updates #20789 Change-Id: Ic7a94394e283bc1b667cdad999ceee9513f35e37 Reviewed-on: https://go-review.googlesource.com/46770Reviewed-by: Robert Griesemer <gri@golang.org>
-
- 26 Jun, 2017 8 commits
-
-
Hana (Hyang-Ah) Kim authored
mutex profile requires explicit calls to runtime.SetMutexProfileFraction to enable/disable profiling (like block profile). It is worth mentioning in the doc. Change-Id: I2b8d654be9f5c6bc49fc802b7708c4c552fea9b2 Reviewed-on: https://go-review.googlesource.com/42070Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Fixes #20795 Updates #17895 Updates #20587 Change-Id: Iea375f3a6ffe3f51e3ffdae1fb3fd628b6b3316c Reviewed-on: https://go-review.googlesource.com/46717Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matt Harden authored
Add a test and fix for the request body being closed twice. Fixes #19186 Change-Id: I1e35ad4aebfef68e6099c1dba7986883afdef4d7 Reviewed-on: https://go-review.googlesource.com/37298Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Updates #20284 Change-Id: I4d55d6adec4e8efb54285ca27bb4fa39c76582c3 Reviewed-on: https://go-review.googlesource.com/46719Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Brad Fitzpatrick authored
We used to do it sometimes as an optimization, but the optimization is flawed: in all non-contrived cases we need to deep clone the map anyway. So do it always, which both simplifies the code but also fixes the X-Forward-For value leaking to the caller's Request, as well as modifications from the optional Director func. Fixes #18327 Change-Id: I0c86d10c557254bf99fdd988227dcb15f968770b Reviewed-on: https://go-review.googlesource.com/46716Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
When the dedicated mark worker runs, the scheduler won't run on that P again until GC runs out of mark work. As a result, any goroutines in that P's local run queue are stranded until another P steals them. In a normally operating system this may take a long time, and in a 100% busy system, the scheduler never attempts to steal from another P. Fix this by draining the local run queue into the global run queue if the dedicated mark worker has run for long enough. We don't do this immediately upon scheduling the dedicated mark worker in order to avoid destroying locality if the mark worker runs for a short time. Instead, the scheduler delays draining the run queue until the mark worker gets its first preemption request (and otherwise ignores the preemption request). Fixes #20011. Change-Id: I13067194b2f062b8bdef25cb75e4143b7fb6bb73 Reviewed-on: https://go-review.googlesource.com/46610 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Robert Griesemer authored
Fixes crash when printing a related error message later on. Fixes #20789. Change-Id: I6d2c35aafcaeda26a211fc6c8b7dfe4a095a3efe Reviewed-on: https://go-review.googlesource.com/46713 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Yasha Bubnov authored
The existing implementation sequentially closes connection in the loop and until the previous client connections is not closed the next one would not be processed. Instead, the algorithm modified to spawn the function that closes single connection in a standalone goroutine, thus making at least a try to close it. Change-Id: Ib96b5b477f841926450d122b67f14f1a2da36ee1 Reviewed-on: https://go-review.googlesource.com/33614Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-