log.Fatalf("testbin (first incarnation) could not set %v to 'ready': %v", preStartProcessEnv, err)
}
case"FIRED":
// all good, reset for next round
err:=os.Setenv(preStartProcessEnv, "READY")
iferr!=nil {
log.Fatalf("testbin (second incarnation) could not reset %v to 'ready': %v", preStartProcessEnv, err)
}
case"READY":
log.Fatalf("failure to update startup hook before new process started")
default:
log.Fatalf("something strange happened with %v: it ended up as %v, which is not '', 'FIRED', or 'READY'", preStartProcessEnv, os.Getenv(preStartProcessEnv))
}
err:=gracehttp.ServeWithOptions(
servers,
gracehttp.PreStartProcess(func() error {
err:=os.Setenv(preStartProcessEnv, "FIRED")
iferr!=nil {
log.Fatalf("startup hook could not set %v to 'fired': %v", preStartProcessEnv, err)