add massive warning about error logging to WrappedMain

This commit is contained in:
Megan Marsh 2021-04-05 15:03:39 -07:00
parent 3b0226d496
commit e8780bf7b8
1 changed files with 9 additions and 0 deletions

View File

@ -126,6 +126,15 @@ func realMain() int {
// wrappedMain is called only when we're wrapped by panicwrap and // wrappedMain is called only when we're wrapped by panicwrap and
// returns the exit status to exit with. // returns the exit status to exit with.
func wrappedMain() int { func wrappedMain() int {
// WARNING: WrappedMain causes unexpected behaviors when writing to stderr
// and stdout. Anything in this function written to stderr will be captured
// by the logger, but will not be written to the terminal. Anything in
// this function written to standard out must be prefixed with ErrorPrefix
// or OutputPrefix to be sent to the right terminal stream, but adding
// these prefixes can cause nondeterministic results for output from
// other, asynchronous methods. Try to avoid modifying output in this
// function if at all possible.
// If there is no explicit number of Go threads to use, then set it // If there is no explicit number of Go threads to use, then set it
if os.Getenv("GOMAXPROCS") == "" { if os.Getenv("GOMAXPROCS") == "" {
runtime.GOMAXPROCS(runtime.NumCPU()) runtime.GOMAXPROCS(runtime.NumCPU())