From 8809aa49dfe05d023bd451d597fcdcd5f90b78a0 Mon Sep 17 00:00:00 2001 From: Josh Humphries <2035234+jhump@users.noreply.github.com> Date: Mon, 11 Dec 2023 13:55:42 -0500 Subject: [PATCH] slight delay in starting up server... maybe will help w/ flaky 'no recent network activity' http3 issues? --- internal/app/referenceserver/server.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/internal/app/referenceserver/server.go b/internal/app/referenceserver/server.go index 7d9f96a6..ca8d7131 100644 --- a/internal/app/referenceserver/server.go +++ b/internal/app/referenceserver/server.go @@ -91,6 +91,22 @@ func run(ctx context.Context, referenceMode bool, args []string, inReader io.Rea return err } + // Start the server + var serveError error + serveDone := make(chan struct{}) + go func() { + defer close(serveDone) + serveError = server.Serve() + }() + // Give the above goroutine a chance to start the server and potentially + // abort if it could not be started. + time.Sleep(200 * time.Millisecond) + select { + case <-serveDone: + return serveError + default: + } + resp := &v1.ServerCompatResponse{ Host: actualHost, Port: uint32(actualPort), @@ -100,13 +116,6 @@ func run(ctx context.Context, referenceMode bool, args []string, inReader io.Rea return err } - // Finally, start the server - var serveError error - serveDone := make(chan struct{}) - go func() { - defer close(serveDone) - serveError = server.Serve() - }() select { case <-serveDone: return serveError