BSD and Darwin require an extra page between
end and the first mapping, and Windows has various
memory in the way too.
Fixes#1464.
R=r, r2
CC=golang-dev
https://golang.org/cl/4167041
Add Error type to enable clients to distinguish
between local and remote errors.
Also return "connection shut down error" after
the first error return rather than returning the
same error each time.
R=r
CC=golang-dev
https://golang.org/cl/4080058
Neither gofmt nor godoc are making use of a Styler (for
token-specific formatting) anymore. Stylers interacted in complicated
ways with HTML-escaping which was why the printer needed an HTML mode
in the first place.
godoc now uses a more powerful and general text formatting
function that does HTML escaping, text selection, and can
handle token-specific formatting if so desired (currently
used only for comments).
As a consequence, cleaned up uses of go/printer in godoc;
simplified the various write utility functions, and also
removed the need for the "html" template format (in favor of
html-esc which now does the same and is used more pervasively).
Applied gofmt -w src misc to verify no changes occured,
and tested godoc manually.
There should be no visible changes except that (type) code
snippets presented for godoc package documentation now
uses the same formatting as for general source code and
thus comments get the comment-specific color here as well
(not the case at the moment).
(TODO: godoc needs a good automatic test suite).
R=rsc
CC=golang-dev
https://golang.org/cl/4152042
Even if local, it requires communication with a daemon
which may not be available. This is creating problems
for getting an Ubuntu package going in Launchpad's PPA.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/3989062
Structs defined in C as containing a field with
an enum type are currently translated to Go as
a struct with an unsigned integer field, even if
some of the values contained in the enum are
negative.
This modification takes in consideration the values
defined in the enum, and conditionally defines the
Go type as signed if necessary.
The logic introduced was tested with gcc, which
will increase the type size if it contains both
negative numbers and values greater than 2^b/2-1,
and refuses to compile values which would be
problematic (2^64-1, but in fact the ISO C
restricts the range to the size of int).
R=rsc
CC=golang-dev
https://golang.org/cl/4119058
Faster in most cases, and not prone to memory leaks. Named "Do" to match with similarly named method on Vector.
R=gri
CC=golang-dev
https://golang.org/cl/4134046
Currently, when an importer closes the connection, the exporter gives an
error message 'netchan export: error decoding client header:EOF'. This
change causes the exporter to look for an EOF during the parse of the
header, and silences the log message in that case.
R=r
CC=golang-dev, rog
https://golang.org/cl/4132044
The logic introduced to avoid running cgo when
introducing _cgo_flags is faulty. My goal was
to handle it with the following statement:
-include _cgo_flags
The dash tells make to ignore errors if it can't
include the file.
What I missed, though, was the fact that it
*will* attempt to build the file if it knows
how.
This change will introduce the originally
intended semantics of not attempting to build
the file before necessary.
R=rsc
CC=golang-dev
https://golang.org/cl/4023069
Previously, the outer loop would continue until we selected the
client's least preferable ciphersuite.
R=golang-dev, r2
CC=golang-dev
https://golang.org/cl/4029056
OS X, at least, appears to test |byte == 255|, not |byte != 0| to
establish if a bool is true or false.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4128064
Many recently issued certificates are chained: there's one or more
intermediate certificates between the host certificate and the root CA
certificate. This change causes the code to load any number of
certificates from the certificate file. This matches the behaviour of
common webservers, and the output of OpenSSL's command line tools.
R=golang-dev, r2
CC=golang-dev
https://golang.org/cl/4119057
If a multi-line raw string is the first token on a line, it
should not be indented because the following lines (belonging
to the raw string) are not indented either.
Adjusted src of ebnf/ebnf_test.go manually as it now is formatted
as expected.
gofmt -w src misc
Fixes#1072.
R=r
CC=golang-dev
https://golang.org/cl/4119056
signed or unsigned integers using %v or the formatless scanner.
That is, Sscan("0x11", &i) or Sscanf("0x11", "%v", &i) will now
set i to 17. If a format other than %v is presented, the behavior
is as before.
Fixes#1469.
R=rsc
CC=golang-dev
https://golang.org/cl/4131042
Must be invoked as ./clean.bash --gomake make
(or --gomake gmake, depending on the name of
GNU make).
R=niemeyer
CC=golang-dev
https://golang.org/cl/4023065
Note that DSA public key support is nascent and the verification
functions clearly don't support it yet. I'm intending to get RSA keys
working first.
R=bradfitzgo
CC=golang-dev
https://golang.org/cl/3973054
ReadRune. (If you have a Reader but not a RuneReader, use bufio.)
The matching code is a few percent slower but significantly cleaner.
R=rsc
CC=golang-dev
https://golang.org/cl/4125046
As discussed in the mailing list, this adds a simple barrier
implementation to the sync package which enables one or more
goroutines to wait for a counter to go down to zero.
R=rsc, rog, r
CC=golang-dev
https://golang.org/cl/3770045
notes:
* due to Issue 1466 the Msghdr struct for
src/pkg/syscall/ztypes_darwin_386.go
src/pkg/syscall/ztypes_darwin_amd64.go
had to be edited after the godefs generation.
* ztypes_*.go files for linux, freebsd and darwin
have been prepared on the correct host OS and ARCH.
While the total increase is a dozen lines per file
the diff is larger due to a change to godefs,
http://code.google.com/p/go/source/detail?r=c79e30afe9c8
while has altered the names of Pad members which
causes gofmt to realign the affected structs
R=rsc, mikioh
CC=golang-dev
https://golang.org/cl/4119053
This enables #cgo directives to contain a os/arch
specification which restricts the definition of
the given option to matching systems.
For example:
#cgo amd64 CFLAGS: -DAMD64=1
#cgo linux CFLAGS: -DLINUX=1
#cgo linux/amd64 CFLAGS: -DLINUX_ON_AMD64=1
R=rsc
CC=golang-dev
https://golang.org/cl/4121048
The object files begin with a header that is
$GOARCH
on a line by itself. This CL changes that header to
go object $GOOS $GOARCH release.2011-01-01 4567+
where the final two fields are the most recent release
tag and the current hg version number.
All objects imported into a Go compilation or linked into an
executable must have the same header line, and that header
line must match the compiler and linker versions.
The effect of this will be that if you update and run all.bash
and then try to link in objects compiled with an earlier version
of the compiler (or invoke the wrong version of the compiler),
you will get an error showing the different headers instead
of perhaps silent incompatibility.
Normal usage with all.bash should be unaffected, because
all.bash deletes all the object files in $GOROOT/pkg/$GOOS_$GOARCH
and cleans all intermediate object files before starting.
This change is intended to diagnose stale objects arising when
users maintaining alternate installation directories forget to
rebuild some of their files after updating.
It should help make the adoption of $GOPATH (CL 3780043)
less error-prone.
R=ken2, r
CC=golang-dev
https://golang.org/cl/4023063
Since nobody suggested major changes to the higher level API, I'm
splitting up the lower level code for review. This is the first of the
changes for the packet reading/writing code.
It deliberately doesn't include a Makefile because the package is
incomplete.
R=bradfitzgo
CC=golang-dev
https://golang.org/cl/4080051