summaryrefslogtreecommitdiff
path: root/libgo/go/net/sock.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/net/sock.go')
-rw-r--r--libgo/go/net/sock.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/libgo/go/net/sock.go b/libgo/go/net/sock.go
index 867e328f12e..70064c307ef 100644
--- a/libgo/go/net/sock.go
+++ b/libgo/go/net/sock.go
@@ -10,7 +10,6 @@ package net
import (
"io"
- "reflect"
"syscall"
)
@@ -28,9 +27,18 @@ func socket(net string, f, t, p int, la, ra syscall.Sockaddr, toAddr func(syscal
syscall.CloseOnExec(s)
syscall.ForkLock.RUnlock()
- setDefaultSockopts(s, f, t)
+ err = setDefaultSockopts(s, f, t)
+ if err != nil {
+ closesocket(s)
+ return nil, err
+ }
if la != nil {
+ la, err = listenerSockaddr(s, f, la, toAddr)
+ if err != nil {
+ closesocket(s)
+ return nil, err
+ }
err = syscall.Bind(s, la)
if err != nil {
closesocket(s)
@@ -61,14 +69,6 @@ func socket(net string, f, t, p int, la, ra syscall.Sockaddr, toAddr func(syscal
return fd, nil
}
-type UnknownSocketError struct {
- sa syscall.Sockaddr
-}
-
-func (e *UnknownSocketError) Error() string {
- return "unknown socket address type " + reflect.TypeOf(e.sa).String()
-}
-
type writerOnly struct {
io.Writer
}