Просмотр исходного кода

logpolicy: don't check version.CmdName on Windows unnecessarily

... it was crashing for some reason, running out of stack while
loading a DLL in goversion. I don't understand Windows (or the Go
runtime for Windows) enough to know why that'd be problematic in that
context.

In any case, don't call it, as tryFixLogStateLocation does nothing on
Windows anyway.

tryFixLogStateLocation should probably just call version.CmdName
itself if/when it needs to, after the GOOS check.
Brad Fitzpatrick 5 лет назад
Родитель
Сommit
c3f7733f53
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      logpolicy/logpolicy.go

+ 3 - 1
logpolicy/logpolicy.go

@@ -305,7 +305,9 @@ func New(collection string) *Policy {
 
 	dir := logsDir()
 
-	tryFixLogStateLocation(dir, version.CmdName())
+	if runtime.GOOS != "windows" { // version.CmdName call was blowing some Windows stack limit via goversion DLL loading
+		tryFixLogStateLocation(dir, version.CmdName())
+	}
 
 	cfgPath := filepath.Join(dir, fmt.Sprintf("%s.log.conf", version.CmdName()))
 	var oldc *Config