func safeWriteEvent()

in pkg/output/winlog/winlog_windows.go [147:158]


func safeWriteEvent(log *eventlog.Log, etype uint16, eid uint32, msgs []string) error {
	deadline := time.Now().Add(time.Second * 10)
	for {
		err := log.Report(etype, eid, msgs)
		if err == nil {
			return nil
		}
		if time.Now().After(deadline) {
			return fmt.Errorf("failed to write event to event log: %w", err)
		}
	}
}