1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Handle error handling better

Don't panic
Add function due to reuse
Catch all errors to appease CI
This commit is contained in:
Sean Smith 2020-10-07 00:15:35 -04:00
parent 57bf5c7417
commit 34154620f6

View File

@ -125,24 +125,28 @@ func runCommandLoop(widget *Widget) {
cmd := exec.Command(widget.settings.cmd, widget.settings.args...)
cmd.Env = widget.environment()
f, err := pty.Start(cmd)
if err != nil {
panic(err)
}
io.Copy(widget.buffer, f)
// The command has exited, print any error messages
if err != nil {
widget.m.Lock()
_, writeErr := widget.buffer.WriteString(err.Error())
if writeErr != nil {
return
}
widget.m.Unlock()
widget.handleError(err)
}
_, err = io.Copy(widget.buffer, f)
if err != nil {
widget.handleError(err)
}
widget.redrawChan <- true
}
}
func (widget *Widget) handleError(err error) {
widget.m.Lock()
_, writeErr := widget.buffer.WriteString(err.Error())
if writeErr != nil {
return
}
widget.m.Unlock()
}
func redrawLoop(widget *Widget) {
for {
widget.Redraw(widget.content)