summaryrefslogtreecommitdiff
path: root/libgo/go/encoding/gob/decode.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/encoding/gob/decode.go')
-rw-r--r--libgo/go/encoding/gob/decode.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/libgo/go/encoding/gob/decode.go b/libgo/go/encoding/gob/decode.go
index 8690b35d714..900c69ddb47 100644
--- a/libgo/go/encoding/gob/decode.go
+++ b/libgo/go/encoding/gob/decode.go
@@ -717,7 +717,9 @@ func (dec *Decoder) decodeInterface(ityp reflect.Type, state *decoderState, p ui
errorf("name too long (%d bytes): %.20q...", len(name), name)
}
// The concrete type must be registered.
+ registerLock.RLock()
typ, ok := nameToConcreteType[name]
+ registerLock.RUnlock()
if !ok {
errorf("name not registered for interface: %q", name)
}