aboutsummaryrefslogtreecommitdiff
path: root/prefork
diff options
context:
space:
mode:
authorGravatar Erik Dubbelboer <erik@dubbelboer.com> 2020-06-06 15:57:38 +0200
committerGravatar GitHub <noreply@github.com> 2020-06-06 15:57:38 +0200
commitcc9db3ab20c6ef5409d71959c8f9453f8e70565c (patch)
treeddd8b1e03d892bb89daf8801d725c9638cda8de4 /prefork
parentMake the ErrNothingRead to be exposed. (#827) (diff)
downloadfasthttp-cc9db3ab20c6ef5409d71959c8f9453f8e70565c.tar.gz
fasthttp-cc9db3ab20c6ef5409d71959c8f9453f8e70565c.tar.bz2
fasthttp-cc9db3ab20c6ef5409d71959c8f9453f8e70565c.zip
Try TravisCI Windows (#828)
* Try TravisCI Windows * prefork is supported on windows with Reuseport=true * Bit longer timeouts for tests
Diffstat (limited to 'prefork')
-rw-r--r--prefork/prefork.go9
-rw-r--r--prefork/prefork_test.go6
2 files changed, 14 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
}
diff --git a/prefork/prefork_test.go b/prefork/prefork_test.go
index 12f8445..f80c77a 100644
--- a/prefork/prefork_test.go
+++ b/prefork/prefork_test.go
@@ -1,3 +1,5 @@
+// +build !windows
+
package prefork
import (
@@ -91,6 +93,10 @@ func Test_listen(t *testing.T) {
}
func Test_setTCPListenerFiles(t *testing.T) {
+ if runtime.GOOS == "windows" {
+ t.SkipNow()
+ }
+
p := &Prefork{}
addr := getAddr()