diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-20 15:03:41 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-20 15:03:41 +0200 |
commit | 982240828b3eabc5379f45910f1827f977a81fff (patch) | |
tree | 8a185e2fc236e8ffc50cf733fc5b23414c43392d /reuseport | |
parent | Renamed NewListener to Listener to be consistent with go's net package (diff) | |
download | fasthttp-982240828b3eabc5379f45910f1827f977a81fff.tar.gz fasthttp-982240828b3eabc5379f45910f1827f977a81fff.tar.bz2 fasthttp-982240828b3eabc5379f45910f1827f977a81fff.zip |
Set SO_REUSEADDR in reuseport.Listen() like standard net package do
Diffstat (limited to 'reuseport')
-rw-r--r-- | reuseport/reuseport.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/reuseport/reuseport.go b/reuseport/reuseport.go index 13092ef..9d6fe7a 100644 --- a/reuseport/reuseport.go +++ b/reuseport/reuseport.go @@ -61,6 +61,11 @@ func Listen(network, addr string) (l net.Listener, err error) { return nil, err } + if err = syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1); err != nil { + syscall.Close(fd) + return nil, err + } + if err = syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, reusePort, 1); err != nil { syscall.Close(fd) return nil, &ErrNoReusePort{err} |