Commit a0430dae authored by Mikio Hara's avatar Mikio Hara

net: fix unixgram

The socket for AF_UNIX domain with SOCK_DGARM type isn't
allowed to work with syscall listen.

R=rsc
CC=golang-dev
https://golang.org/cl/7310068
parent 482f3e84
...@@ -54,7 +54,8 @@ func resolveAddr(op, net, addr string, deadline time.Time) (Addr, error) { ...@@ -54,7 +54,8 @@ func resolveAddr(op, net, addr string, deadline time.Time) (Addr, error) {
// //
// Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only), // Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only),
// "udp", "udp4" (IPv4-only), "udp6" (IPv6-only), "ip", "ip4" // "udp", "udp4" (IPv4-only), "udp6" (IPv6-only), "ip", "ip4"
// (IPv4-only), "ip6" (IPv6-only), "unix" and "unixpacket". // (IPv4-only), "ip6" (IPv6-only), "unix", "unixgram" and
// "unixpacket".
// //
// For TCP and UDP networks, addresses have the form host:port. // For TCP and UDP networks, addresses have the form host:port.
// If host is a literal IPv6 address, it must be enclosed // If host is a literal IPv6 address, it must be enclosed
......
...@@ -93,8 +93,7 @@ func dialUnix(net string, laddr, raddr *UnixAddr, deadline time.Time) (*UnixConn ...@@ -93,8 +93,7 @@ func dialUnix(net string, laddr, raddr *UnixAddr, deadline time.Time) (*UnixConn
type UnixListener struct{} type UnixListener struct{}
// ListenUnix announces on the Unix domain socket laddr and returns a // ListenUnix announces on the Unix domain socket laddr and returns a
// Unix listener. The network net must be "unix", "unixgram" or // Unix listener. The network net must be "unix" or "unixpacket".
// "unixpacket".
func ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) { func ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) {
return nil, syscall.EPLAN9 return nil, syscall.EPLAN9
} }
......
...@@ -251,11 +251,10 @@ type UnixListener struct { ...@@ -251,11 +251,10 @@ type UnixListener struct {
} }
// ListenUnix announces on the Unix domain socket laddr and returns a // ListenUnix announces on the Unix domain socket laddr and returns a
// Unix listener. The network net must be "unix", "unixgram" or // Unix listener. The network net must be "unix" or "unixpacket".
// "unixpacket".
func ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) { func ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) {
switch net { switch net {
case "unix", "unixgram", "unixpacket": case "unix", "unixpacket":
default: default:
return nil, UnknownNetworkError(net) return nil, UnknownNetworkError(net)
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment