logging: added a log on panic
Since panics still regularly "destroy" the terminal, it is hard to get a stack trace for panics you do not anticipate. This commit adds a panic handler that automatically creates a logfile inside the current working directory. It has to be added to every goroutine that is started and will repair the terminal on a panic. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
parent
feecc09b73
commit
ae83373fa6
27 changed files with 161 additions and 23 deletions
commands
|
@ -13,6 +13,7 @@ import (
|
|||
"github.com/lithammer/fuzzysearch/fuzzy"
|
||||
|
||||
"git.sr.ht/~rjarry/aerc/lib"
|
||||
"git.sr.ht/~rjarry/aerc/logging"
|
||||
"git.sr.ht/~rjarry/aerc/models"
|
||||
"git.sr.ht/~rjarry/aerc/widgets"
|
||||
"github.com/gdamore/tcell/v2"
|
||||
|
@ -51,6 +52,8 @@ func QuickTerm(aerc *widgets.Aerc, args []string, stdin io.Reader) (*widgets.Ter
|
|||
status := make(chan error, 1)
|
||||
|
||||
go func() {
|
||||
defer logging.PanicHandler()
|
||||
|
||||
_, err := io.Copy(pipe, stdin)
|
||||
defer pipe.Close()
|
||||
status <- err
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue