diff options
Diffstat (limited to 'prefork/prefork.go')
-rw-r--r-- | prefork/prefork.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/prefork/prefork.go b/prefork/prefork.go index 0b31ef5..cf1ff9f 100644 --- a/prefork/prefork.go +++ b/prefork/prefork.go @@ -1,3 +1,5 @@ +// +build !windows + package prefork import ( @@ -22,7 +24,8 @@ var ( defaultLogger = Logger(log.New(os.Stderr, "", log.LstdFlags)) // ErrOverRecovery is returned when the times of starting over child prefork processes exceed // the threshold. - ErrOverRecovery = errors.New("exceeding the value of RecoverThreshold") + ErrOverRecovery = errors.New("exceeding the value of RecoverThreshold") + ErrOnlyReuseportOnWindows = errors.New("windows only supports Reuseport = true") ) // Logger is used for logging formatted messages. @@ -154,6 +157,10 @@ func (p *Prefork) doCommand() (*exec.Cmd, error) { func (p *Prefork) prefork(addr string) (err error) { if !p.Reuseport { + if runtime.GOOS == "windows" { + return ErrOnlyReuseportOnWindows + } + if err = p.setTCPListenerFiles(addr); err != nil { return } |