cmd/tip: clear error when process starts successfully
We want the error to represent an ongoing problem. It's less useful
to constantly show the last error; we have logs for that.
This will help make the _tipstatus output more readable for humans,
and more friendly to being monitored by farmer.golang.org#health.
Updates golang/go#15266
Fixes golang/go#32949
Change-Id: I20e5f180209c54b31e81e29bd45af0e2d205d3cc
Reviewed-on: https://go-review.googlesource.com/c/build/+/185139
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
diff --git a/cmd/tip/tip.go b/cmd/tip/tip.go
index 744763b..c7fd161 100644
--- a/cmd/tip/tip.go
+++ b/cmd/tip/tip.go
@@ -78,17 +78,18 @@
}
// Proxy implements the tip.golang.org server: a reverse-proxy
-// that builds and runs golangorg instances showing the latest docs.
+// that builds and runs golangorg instances showing the latest
+// Go website and standard library documentation.
type Proxy struct {
builder Builder
mu sync.Mutex // protects following fields
proxy http.Handler
- cur string // signature of gorepo+toolsrepo
+ cur string // signature of gorepo+websiterepo
cmd *exec.Cmd // live golangorg instance, or nil for none
side string
hostport string // host and port of the live instance
- err error
+ err error // non-nil when there's a problem
}
type Builder interface {
@@ -254,6 +255,7 @@
p.cmd.Process.Kill()
}
p.cmd = cmd
+ p.err = nil // If we get this far, the process started successfully. Clear the error.
}
type serveOptions struct {