summaryrefslogtreecommitdiff
path: root/libgo/go/net/interface_aix.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/net/interface_aix.go')
-rw-r--r--libgo/go/net/interface_aix.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/libgo/go/net/interface_aix.go b/libgo/go/net/interface_aix.go
index 1fe9bbaf696..f57c5ff6622 100644
--- a/libgo/go/net/interface_aix.go
+++ b/libgo/go/net/interface_aix.go
@@ -5,6 +5,7 @@
package net
import (
+ "internal/poll"
"internal/syscall/unix"
"syscall"
"unsafe"
@@ -56,6 +57,12 @@ func interfaceTable(ifindex int) ([]Interface, error) {
return nil, err
}
+ sock, err := sysSocket(syscall.AF_INET, syscall.SOCK_DGRAM, 0)
+ if err != nil {
+ return nil, err
+ }
+ defer poll.CloseFunc(sock)
+
var ift []Interface
for len(tab) > 0 {
ifm := (*syscall.IfMsgHdr)(unsafe.Pointer(&tab[0]))
@@ -73,11 +80,7 @@ func interfaceTable(ifindex int) ([]Interface, error) {
// Retrieve MTU
ifr := &ifreq{}
copy(ifr.Name[:], ifi.Name)
- sock, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_DGRAM, 0)
- if err != nil {
- return nil, err
- }
- err = unix.Ioctl(sock, _SIOCGIFMTU, uintptr(unsafe.Pointer(ifr)))
+ err = unix.Ioctl(sock, syscall.SIOCGIFMTU, uintptr(unsafe.Pointer(ifr)))
if err != nil {
return nil, err
}