diff options
author | Ian Lance Taylor <iant@golang.org> | 2017-01-14 00:05:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-01-14 00:05:42 +0000 |
commit | c2047754c300b68c05d65faa8dc2925fe67b71b4 (patch) | |
tree | e183ae81a1f48a02945cb6de463a70c5be1b06f6 /libgo/go/net/rpc | |
parent | 829afb8f05602bb31c9c597b24df7377fed4f059 (diff) | |
download | gcc-c2047754c300b68c05d65faa8dc2925fe67b71b4.zip gcc-c2047754c300b68c05d65faa8dc2925fe67b71b4.tar.gz gcc-c2047754c300b68c05d65faa8dc2925fe67b71b4.tar.bz2 |
libgo: update to Go 1.8 release candidate 1
Compiler changes:
* Change map assignment to use mapassign and assign value directly.
* Change string iteration to use decoderune, faster for ASCII strings.
* Change makeslice to take int, and use makeslice64 for larger values.
* Add new noverflow field to hmap struct used for maps.
Unresolved problems, to be fixed later:
* Commented out test in go/types/sizes_test.go that doesn't compile.
* Commented out reflect.TestStructOf test for padding after zero-sized field.
Reviewed-on: https://go-review.googlesource.com/35231
gotools/:
Updates for Go 1.8rc1.
* Makefile.am (go_cmd_go_files): Add bug.go.
(s-zdefaultcc): Write defaultPkgConfig.
* Makefile.in: Rebuild.
From-SVN: r244456
Diffstat (limited to 'libgo/go/net/rpc')
-rw-r--r-- | libgo/go/net/rpc/client.go | 2 | ||||
-rw-r--r-- | libgo/go/net/rpc/client_test.go | 4 | ||||
-rw-r--r-- | libgo/go/net/rpc/server.go | 6 | ||||
-rw-r--r-- | libgo/go/net/rpc/server_test.go | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/libgo/go/net/rpc/client.go b/libgo/go/net/rpc/client.go index 862fb1a..fce6a48 100644 --- a/libgo/go/net/rpc/client.go +++ b/libgo/go/net/rpc/client.go @@ -274,6 +274,8 @@ func Dial(network, address string) (*Client, error) { return NewClient(conn), nil } +// Close calls the underlying codec's Close method. If the connection is already +// shutting down, ErrShutdown is returned. func (client *Client) Close() error { client.mutex.Lock() if client.closing { diff --git a/libgo/go/net/rpc/client_test.go b/libgo/go/net/rpc/client_test.go index ba11ff8..d116d2a 100644 --- a/libgo/go/net/rpc/client_test.go +++ b/libgo/go/net/rpc/client_test.go @@ -8,7 +8,6 @@ import ( "errors" "fmt" "net" - "runtime" "strings" "testing" ) @@ -53,9 +52,6 @@ func (s *S) Recv(nul *struct{}, reply *R) error { } func TestGobError(t *testing.T) { - if runtime.GOOS == "plan9" { - t.Skip("skipping test; see https://golang.org/issue/8908") - } defer func() { err := recover() if err == nil { diff --git a/libgo/go/net/rpc/server.go b/libgo/go/net/rpc/server.go index cff3241..18ea629 100644 --- a/libgo/go/net/rpc/server.go +++ b/libgo/go/net/rpc/server.go @@ -23,7 +23,7 @@ func (t *T) MethodName(argType T1, replyType *T2) error - where T, T1 and T2 can be marshaled by encoding/gob. + where T1 and T2 can be marshaled by encoding/gob. These requirements apply even if a different codec is used. (In the future, these requirements may soften for custom codecs.) @@ -55,6 +55,8 @@ package server + import "errors" + type Args struct { A, B int } @@ -119,6 +121,8 @@ A server implementation will often provide a simple, type-safe wrapper for the client. + + The net/rpc package is frozen and is not accepting new features. */ package rpc diff --git a/libgo/go/net/rpc/server_test.go b/libgo/go/net/rpc/server_test.go index d04271d..8369c9d 100644 --- a/libgo/go/net/rpc/server_test.go +++ b/libgo/go/net/rpc/server_test.go @@ -693,7 +693,8 @@ func benchmarkEndToEndAsync(dial func() (*Client, error), b *testing.B) { B := call.Args.(*Args).B C := call.Reply.(*Reply).C if A+B != C { - b.Fatalf("incorrect reply: Add: expected %d got %d", A+B, C) + b.Errorf("incorrect reply: Add: expected %d got %d", A+B, C) + return } <-gate if atomic.AddInt32(&recv, -1) == 0 { |