The Go programming language
Go to file
Dmitriy Vyukov e91704af27 runtime: don't lock mheap on user goroutine
This is bad for 2 reasons:
1. if the code under lock ever grows stack,
it will deadlock as stack growing acquires mheap lock.
2. It currently deadlocks with SetCPUProfileRate:
scavenger locks mheap, receives prof signal and tries to lock prof lock;
meanwhile SetCPUProfileRate locks prof lock and tries to grow stack
(presumably in runtime.unlock->futexwakeup). Boom.
Let's assume that it
Fixes #8407.

LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews, khr
https://golang.org/cl/112640043
2014-07-23 18:52:25 +04:00
api syscall: regenerate z-files for darwin 2014-06-24 09:20:42 +09:00
doc doc/go1.4.txt: windows can do symlinks now 2014-07-23 16:36:29 +10:00
include liblink: remove some gotos + other fixes 2014-07-21 17:38:48 -04:00
lib codereview: abort 'hg commit' before entering commit message. 2014-07-18 21:04:56 -04:00
misc undo CL 109640045 / f97fb06525e5 2014-07-18 02:59:54 -04:00
src runtime: don't lock mheap on user goroutine 2014-07-23 18:52:25 +04:00
test test: avoid "declared but not used" errors in shift1.go 2014-07-20 12:25:24 -07:00
.hgignore lib9: enable on Plan 9 2014-02-13 20:06:41 +01:00
.hgtags tag go1.3 2014-06-19 11:21:35 +10:00
AUTHORS A+C: add Xia Bin (individual CLA) 2014-07-18 12:04:39 -04:00
CONTRIBUTORS A+C: add Xia Bin (individual CLA) 2014-07-18 12:04:39 -04:00
LICENSE
PATENTS
README README: Fix installation instructions 2013-11-20 13:47:37 -08:00
favicon.ico
robots.txt

README

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install-source.html
in your web browser.

After installing Go, you can view a nicely formatted
doc/install-source.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install/source.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.

--

Binary Distribution Notes

If you have just untarred a binary Go distribution, you need to set
the environment variable $GOROOT to the full path of the go
directory (the one containing this README).  You can omit the
variable if you unpack it into /usr/local/go, or if you rebuild
from sources by running all.bash (see doc/install.html).
You should also add the Go binary directory $GOROOT/bin
to your shell's path.

For example, if you extracted the tar file into $HOME/go, you might
put the following in your .profile:

    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin

See doc/install.html for more details.