- 28 Feb, 2013 9 commits
-
-
Akshat Kumar authored
syscall: Use NewError for all system errors and introduce some new errors for compatibility with other packages and proper error handling in net. Also introduce Temporary and Timeout methods on ErrorString. net: Make errors from dial, accept, listen functions follow the OpError standard and discern whether the underlying error came from syscall. Since Plan 9 uses a correspondence between file and network operations, all system error reporting happens through the underlying file operation. In Go code, we go through package os for file operations, so there is another level of indirection in error types. This change allows us to compare the errors with those in package syscall, when appropriate. os: Just use the error string already present in package os, instead of calling out to package syscall. R=rsc, ality, rminnich, bradfitz CC=golang-dev https://golang.org/cl/7398054
-
Akshat Kumar authored
Map order is non-deterministic. Introduce a new environment string array that tracks the env map. This allows us to produce identical results for Environ() upon successive calls, as expected by the TestConsistentEnviron test in package os. R=rsc, ality, rminnich, bradfitz, r CC=golang-dev https://golang.org/cl/7411047
-
Tyler Bunnell authored
The installer package will now detect a previous installation and warn the user that the previous installation will be deleted. If the user continues, the installer will delete the previous installation and install the package as usual. Fixes #4293. R=adg CC=golang-dev https://golang.org/cl/7427044
-
Andrew Gerrand authored
Generated by addca. R=gobot CC=golang-dev https://golang.org/cl/7432043
-
Russ Cox authored
R=golang-dev, r, bradfitz, iant CC=golang-dev https://golang.org/cl/7407050
-
Nigel Tao authored
It's not a big deal, but it's easy to fix. R=dsymonds CC=dr.volker.dobler, golang-dev https://golang.org/cl/7425043
-
Volker Dobler authored
New tests added for port handling and IDNA domains. A new test case contains several redundant tests but provides a nice documentation of the implemented rules for domain handling. R=nigeltao CC=golang-dev https://golang.org/cl/7393070
-
Gustavo Niemeyer authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7230059
-
Rob Pike authored
Fixes #4873. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7421043
-
- 27 Feb, 2013 29 commits
-
-
Brad Fitzpatrick authored
Update #4842 R=golang-dev, r CC=golang-dev https://golang.org/cl/7369060
-
Rob Pike authored
Also delete bogus tests for f.pkg (does the file have a package) since all files have a package attached. The tests for pkg.types and pkg.values suffice. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7418043
-
Andrew Gerrand authored
These are superseded by the tool at misc/dist. R=golang-dev, r CC=golang-dev https://golang.org/cl/7420044
-
Robert Griesemer authored
R=r CC=golang-dev https://golang.org/cl/7375060
-
Brad Fitzpatrick authored
Permits all sorts of custom HTTP timeout policies without adding a new Transport timeout Duration for each combination of HTTP phases. This keeps track internally of which TCP connection a given Request is on, and lets callers forcefully close the TCP connection for a given request, without actually getting the net.Conn directly. Additionally, a future CL will implement res.Body.Close (Issue 3672) in terms of this. Update #3362 Update #3672 R=golang-dev, rsc, adg CC=golang-dev https://golang.org/cl/7372054
-
Brad Fitzpatrick authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/7420043
-
Rob Pike authored
Fixes #4897. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7377061
-
Robert Griesemer authored
R=adonovan CC=golang-dev https://golang.org/cl/7369059
-
Alan Donovan authored
Use portable ReadDirent, not linux Getdents. R=gri TBR=gri CC=golang-dev https://golang.org/cl/7405051
-
Alan Donovan authored
ssadump: - permit naming a package (not just *.go files) on command line. - set BuildSerially flag when setting Log* flags (Q. should instead the logging functions take a lock?) Builder: - fixed bug when calling variadic function with zero '...'-params. Added regression test. interp: - more external functions: the 'error' interface bytes.{Equal,IndexByte} reflect.(Value).{Bool,NumOut,Out} syscall.{Close,Fstat,Read,Open,Stat,Lstat,Fstat, Getdents,ParseDirents,Getwd} - permit comparisons between *Function and *closure. With this CL, ssadump can now interpret ssadump itself (!), loading, parsing, typing, SSA-building, and running println("Hello, World!"). While a fmt-based equivalent still lacks some external routines, e.g. math/big, I think there are diminishing returns in expanding the interpreter (and debugging it is starting to feel like "Inception"). I'm pretty confident this package is now good enough for wider use. R=gri CC=golang-dev https://golang.org/cl/7392053
-
Brad Fitzpatrick authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/7392054
-
Brad Fitzpatrick authored
Add DialOpt. So we have: func Dial(net, addr string) (Conn, error) func DialTimeout(net, addr string, timeout time.Duration) (Conn, error) func DialOpt(addr string, opts ...DialOption) (Conn, error) DialTimeout (and Dial) are regrettable in retrospect. Maybe in a future Go we'll be back down to one Dial, with DialOpt becoming Dial. DialOpt looks like: c, err := net.DialOpt("google.com:80") // tcp is default c, err := net.DialOpt("google.com:80", net.Timeout(30 * time.Second)) c, err := net.DialOpt("google.com:80", net.TCPFastOpen()) c, err := net.DialOpt("google.com:80", net.LocalAddr(..)) c, err := net.DialOpt("google.com:53", net.Network("udp6")) And then: (clustered in godoc) type DialOption interface { /* private only */ } func Deadline(time.Time) DialOption func LocalAddr(Addr) DialOption func Network(string) DialOption func TCPFastOpen() DialOption func Timeout(time.Duration) DialOption I'm pretty confident we could add Happy Eyeballs to this too. Fixes #3097 Update #3610 Update #4842 R=golang-dev, r, dave, minux.ma, rsc CC=golang-dev https://golang.org/cl/7365049
-
Dmitriy Vyukov authored
add per-P cache of dead G's add global runnable queue (not used for now) add list of idle P's (not used for now) R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7397061
-
Daniel Morsing authored
If all locals are optimized away, the type instructions would stay in the instruction stream. Call fixautoused to scrub the output. Fixes #4915. R=rsc CC=golang-dev https://golang.org/cl/7385055
-
Volker Dobler authored
The values for the planet masses are given in earth mass, not solar mass. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/7368054
-
Brad Fitzpatrick authored
Update #3362 R=golang-dev, adg, rsc CC=golang-dev https://golang.org/cl/7369055
-
Alan Donovan authored
While submitting CL 7371051 I accidentally reverted much of CL 7395052. This change restores it. R=gri TBR=gri CC=golang-dev https://golang.org/cl/7364051
-
Jan Ziak authored
R=rsc CC=golang-dev https://golang.org/cl/7383054
-
Alan Donovan authored
The correct semantics of named result parameters and deferred procedures cannot be implemented with the existing Ret instruction alone, since the required sequence is: (1) evaluate return operands and parallel-assign them to named result parameters (2) invoke deferred procedures (3) load named result parameters to form result tuple. We introduce a new 'rundefers' instruction that explicitly invokes the deferred procedure calls, and we generate code that follows the sequence above. Most functions do not use deferred procedures but this cannot be known in a single pass. So, we add an optimisation to eliminate redundant 'rundefers'; it is piggybacked on the existing pass done for "lifting". Added tests. R=gri CC=golang-dev https://golang.org/cl/7411043
-
Alan Donovan authored
Details: - move Builder.nTo1Vars into package => thread-safe. - add BuildSerially builder mode flag to disable concurrency. - add Builder.BuildAllPackages method. Benchmark: BuildAllPackages for $GOROOT/test/append.go drops to 83ms from 190ms (GOMAXPROCS=8). R=gri CC=golang-dev https://golang.org/cl/7371051
-
Marcel van Lohuizen authored
R=r, dave CC=golang-dev https://golang.org/cl/7403055
-
Marcel van Lohuizen authored
which was submitted earlier. R=r CC=golang-dev https://golang.org/cl/7402048
-
Matthew Dempsky authored
Fixes #3349. R=bradfitz, dave, minux.ma CC=golang-dev https://golang.org/cl/7383056
-
Russ Cox authored
TBR=golang-dev CC=golang-dev https://golang.org/cl/7401053
-
Russ Cox authored
The current code uses 64-bit pc-relative on 64-bit systems, but in ELF linkers there is no such thing, so we cannot express this in a .o file. Change to 32-bit. R=golang-dev, iant CC=golang-dev https://golang.org/cl/7383055
-
Russ Cox authored
This CL changes the encoding used for the Go symbol table, stored in the binary and used at run time. It does not change any of the semantics or structure: the bits are just packed a little differently. The comment at the top of runtime/symtab.c describes the new format. Compared to the Go 1.0 format, the main changes are: * Store symbol addresses as full-pointer-sized host-endian values. (For 6g, this means addresses are 64-bit little-endian.) * Store other values (frame sizes and so on) varint-encoded. The second change more than compensates for the first: for the godoc binary on OS X/amd64, the new symbol table is 8% smaller than the old symbol table (1,425,668 down from 1,546,276). This is a required step for allowing the host linker (gcc) to write the final Go binary, since it will have to fill in the symbol address slots (so the slots must be host-endian) and on 64-bit systems it may choose addresses above 4 GB. R=golang-dev, iant CC=golang-dev https://golang.org/cl/7403054
-
Nigel Tao authored
R=dr.volker.dobler CC=golang-dev https://golang.org/cl/7389048
-
Rob Pike authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/7376058
-
Brad Fitzpatrick authored
And one real leak in TimeoutHandler. Fixes #4821 R=golang-dev, adg CC=golang-dev https://golang.org/cl/7369056
-
- 26 Feb, 2013 2 commits
-
-
Robert Griesemer authored
- better documentation of Check - better handling of (explicit) internal panics - gotype: don't stop after 1st error R=adonovan, r CC=golang-dev https://golang.org/cl/7406052
-
Dave Cheney authored
Fixes #3348. R=devon.odell, minux.ma, bradfitz, mdempsky CC=golang-dev https://golang.org/cl/7406050
-