- 12 Aug, 2014 9 commits
-
-
Andrew Gerrand authored
LGTM=r R=r, rsc CC=golang-codereviews https://golang.org/cl/126060043
-
Brad Fitzpatrick authored
Adds internal/syscall package. Fixes #8520 LGTM=r, agl R=agl, rsc, r CC=golang-codereviews, iant https://golang.org/cl/123260044
-
Dmitriy Vyukov authored
Turns out to be unused as well. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews, khr https://golang.org/cl/127170044
-
Dmitriy Vyukov authored
It's unclear why we do this broken double-checked locking. The mutex is not held for the whole duration of CPU profiling. Fixes #8365. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/116290043
-
Matthew Dempsky authored
Fixes #7757. Fixes #8488. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/118690044
-
Thiago Fransosi Farina authored
This function does not have a declaration/prototype in a.h, and it is used only in buf.c, so it is local to it and thus can be marked as private by adding 'static' to it. LGTM=iant R=rsc, iant CC=golang-codereviews https://golang.org/cl/122300043
-
Ian Lance Taylor authored
Generated by a+c. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/125960043
-
Matthew Dempsky authored
misc/cgo/testgodefs was added by revision d1cf884a594f, but not add to run.bash. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/129760044
-
Matthew Dempsky authored
Fixes #5242. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/125120043
-
- 11 Aug, 2014 10 commits
-
-
Matthew Dempsky authored
This makes GCC behavior (and cgo build failures) deterministic. Fixes #8487. Ran this shell command on linux/amd64 (Ubuntu 12.04) before and after this change: for x in `seq 100`; do go tool cgo -debug-gcc=true issue8441.go 2>&1 | md5sum done | sort | uniq -c Before: 67 2cdcb8c7c4e290f7d9009abc581b83dd - 10 9a55390df94f7cec6d810f3e20590789 - 10 acfad22140d43d9b9517bbc5dfc3c0df - 13 c337f8fee2304b3a8e3158a4362d8698 - After: 100 785c316cbcbcd50896695050e2fa23c1 - LGTM=minux, iant R=golang-codereviews, bradfitz, minux, iant CC=golang-codereviews https://golang.org/cl/126990043
-
Andres Erbsen authored
Tested against GnuTLS and Python. LGTM=agl R=golang-codereviews, agl, ashankar CC=agl, golang-codereviews https://golang.org/cl/117100043
-
Andrew Gerrand authored
Our other CloseFlushers (archive/tar, compress/flate) do mention this. The original change was accidentally submitted to the release branch: https://golang.org/cl/117430043/ TBR=rsc R=r, rsc CC=golang-codereviews https://golang.org/cl/124130043
-
Chris Manghane authored
LGTM=rsc R=gri, rsc CC=golang-codereviews https://golang.org/cl/127950043
-
Shenghou Ma authored
Fixes #8510. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/129720043
-
Shenghou Ma authored
Replaces CL 123980043 which I created on the dev.power64 branch. LGTM=rsc R=rsc, iant CC=golang-codereviews https://golang.org/cl/123120043
-
Shenghou Ma authored
LGTM=bradfitz, rsc R=rsc, iant, bradfitz CC=golang-codereviews https://golang.org/cl/126940043
-
Russ Cox authored
Generated by a+c. R=gobot CC=golang-codereviews https://golang.org/cl/124120043
-
Russ Cox authored
Credit to Rémy for finding and writing test case. Fixes #8325. LGTM=r R=golang-codereviews, r CC=dave, golang-codereviews, iant, remyoudompheng https://golang.org/cl/124950043
-
Matthew Dempsky authored
The >>1 shift needs to happen before converting to int32, otherwise large values will decode with an incorrect sign bit. The <<31 shift can happen before or after, but before is consistent with liblink and the go12symtab doc. Bug demo at http://play.golang.org/p/jLrhPUakIu LGTM=rsc R=golang-codereviews, minux, rsc CC=golang-codereviews https://golang.org/cl/119630043
-
- 08 Aug, 2014 13 commits
-
-
Rob Pike authored
CC=golang-codereviews https://golang.org/cl/124050043
-
Rob Pike authored
Generated by a+c. R=gobot CC=golang-codereviews https://golang.org/cl/127800043
-
Joel Stemmer authored
When formatting time zone offsets with seconds using the stdISO8601Colon and stdNumColon layouts, the colon was missing between the hour and minute parts. Fixes #8497. LGTM=r R=golang-codereviews, iant, gobot, r CC=golang-codereviews https://golang.org/cl/126840043
-
Ian Lance Taylor authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/124020044
-
Dmitriy Vyukov authored
There was a number of improvements related to GC parallelization: 1. Parallel roots/stacks scanning. 2. Parallel stack shrinking. 3. Per-thread workbuf caches. 4. Workset reduction. Currently 32 threads work well. go.benchmarks:garbage benchmark on 2 x Intel Xeon E5-2690 (16 HT cores) 1 thread/1 processor: time=16405255 cputime=16386223 gc-pause-one=546793975 gc-pause-total=3280763 2 threads/1 processor: time=9043497 cputime=18075822 gc-pause-one=331116489 gc-pause-total=2152257 4 threads/1 processor: time=4882030 cputime=19421337 gc-pause-one=174543105 gc-pause-total=1134530 8 threads/1 processor: time=4134757 cputime=20097075 gc-pause-one=158680588 gc-pause-total=1015555 16 threads/1 processor + HT: time=2006706 cputime=31960509 gc-pause-one=75425744 gc-pause-total=460097 16 threads/2 processors: time=1513373 cputime=23805571 gc-pause-one=56630946 gc-pause-total=345448 32 threads/2 processors + HT: time=1199312 cputime=37592764 gc-pause-one=48945064 gc-pause-total=278986 LGTM=rlh R=golang-codereviews, tracey.brendan, rlh CC=golang-codereviews, khr, rsc https://golang.org/cl/123920043
-
Matthew Dempsky authored
Update #8092 LGTM=dvyukov R=golang-codereviews, minux, dvyukov CC=golang-codereviews https://golang.org/cl/122250043
-
Dmitriy Vyukov authored
Stack shrinking happens during mark phase, and it assumes that it owns stackcache in mcache. Stack cache flushing also happens during mark phase, and it accesses stackcache's w/o any synchronization. This leads to stackcache corruption: http://goperfd.appspot.com/log/309af5571dfd7e1817259b9c9cf9bcf9b2c27610 LGTM=khr R=khr CC=golang-codereviews, rsc https://golang.org/cl/126870043
-
Russ Cox authored
On OS X 10.10 Yosemite, if you have a directory that can be returned in a single getdirentries64 call (for example, a directory with one file), and you read from the directory at EOF twice, you get EOF both times: fd = open("dir") getdirentries64(fd) returns data getdirentries64(fd) returns 0 (EOF) getdirentries64(fd) returns 0 (EOF) But if you remove the file in the middle between the two calls, the second call returns an error instead. fd = open("dir") getdirentries64(fd) returns data getdirentries64(fd) returns 0 (EOF) remove("dir/file") getdirentries64(fd) returns ENOENT/EINVAL Whether you get ENOENT or EINVAL depends on exactly what was in the directory. It is deterministic, just data-dependent. This only happens in small directories. A directory containing more data than fits in a 4k getdirentries64 call will return EOF correctly. (It's not clear if the criteria is that the directory be split across multiple getdirentries64 calls or that it be split across multiple file system blocks.) We could change package os to avoid the second read at EOF, and maybe we should, but that's a bit involved. For now, treat the EINVAL/ENOENT as EOF. With this CL, all.bash passes on my MacBook Air running OS X 10.10 (14A299l) and Xcode 6 beta 5 (6A279r). I tried filing an issue with Apple using "Feedback Assistant", but it was unable to send the report and lost it. C program reproducing the issue, also at http://swtch.com/~rsc/readdirbug.c: #include <stdio.h> #include <dirent.h> #include <unistd.h> #include <sys/stat.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <string.h> static void test(int); int main(void) { int fd, n; DIR *dir; struct dirent *dp; struct stat st; char buf[10000]; long basep; int saw; if(stat("/tmp/readdirbug", &st) >= 0) { fprintf(stderr, "please rm -r /tmp/readdirbug and run again\n"); exit(1); } fprintf(stderr, "mkdir /tmp/readdirbug\n"); if(mkdir("/tmp/readdirbug", 0777) < 0) { perror("mkdir /tmp/readdirbug"); exit(1); } fprintf(stderr, "create /tmp/readdirbug/file1\n"); if((fd = creat("/tmp/readdirbug/file1", 0666)) < 0) { perror("create /tmp/readdirbug/file1"); exit(1); } close(fd); test(0); test(1); fprintf(stderr, "ok - everything worked\n"); } static void test(int doremove) { DIR *dir; struct dirent *dp; int numeof; fprintf(stderr, "\n"); fprintf(stderr, "opendir /tmp/readdirbug\n"); dir = opendir("/tmp/readdirbug"); if(dir == 0) { perror("open /tmp/readdirbug"); exit(1); } numeof = 0; for(;;) { errno = 0; dp = readdir(dir); if(dp != 0) { fprintf(stderr, "readdir: found %s\n", dp->d_name); continue; } if(errno != 0) { perror("readdir"); exit(1); } fprintf(stderr, "readdir: EOF\n"); if(++numeof == 3) break; if(doremove) { fprintf(stderr, "rm /tmp/readdirbug/file1\n"); if(remove("/tmp/readdirbug/file1") < 0) { perror("remove"); exit(1); } } } fprintf(stderr, "closedir\n"); closedir(dir); } Fixes #8423. LGTM=bradfitz, r R=golang-codereviews, bradfitz, dsymonds, dave, r CC=golang-codereviews, iant https://golang.org/cl/119530044
-
Dmitriy Vyukov authored
All goroutines decode into the same value. LGTM=r R=r, abursavich CC=golang-codereviews https://golang.org/cl/123930043
-
Mikio Hara authored
LGTM=iant R=golang-codereviews, adg, iant CC=golang-codereviews https://golang.org/cl/122190043
-
Alex Brainman authored
as per rsc request LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/123970043
-
Shenghou Ma authored
LGTM=adg, dave R=golang-codereviews, adg, dave CC=golang-codereviews https://golang.org/cl/123050043
-
Alex Brainman authored
Current version of Getwd calls Stat that calls Getwd therefore infinite recursion. LGTM=minux R=golang-codereviews, minux CC=golang-codereviews https://golang.org/cl/119600043
-
- 07 Aug, 2014 8 commits
-
-
Andrew Gerrand authored
Fixes #8342. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/122180043
-
Andrew Gerrand authored
Fixes #8314. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/125820043
-
Andrew Gerrand authored
Fixes #8181. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/123870043
-
Ian Lance Taylor authored
According to the OpenBSD builder, it doesn't work. TBR=bradfitz CC=golang-codereviews https://golang.org/cl/126830043
-
Keith Randall authored
LGTM=rsc R=rsc, khr CC=golang-codereviews https://golang.org/cl/121330043
-
Adam Langley authored
CC=golang-codereviews https://golang.org/cl/123950043
-
Keith Randall authored
LGTM=dvyukov R=golang-codereviews, dave, bradfitz, dvyukov, khr CC=golang-codereviews https://golang.org/cl/98510044
-
Ian Lance Taylor authored
According to the FreeBSD builder, it doesn't work. TBR=bradfitz CC=golang-codereviews https://golang.org/cl/121400043
-