more ticker improvements

This commit is contained in:
Jesse Duffield 2020-02-01 12:23:56 +11:00
parent c173ebf5b9
commit df050472a1
3 changed files with 9 additions and 3 deletions

View file

@ -58,7 +58,9 @@ func (gui *Gui) WithWaitingStatus(name string, f func() error) error {
}()
go func() {
for range time.Tick(time.Millisecond * 50) {
ticker := time.NewTicker(time.Millisecond * 50)
defer ticker.Stop()
for range ticker.C {
appStatus := gui.statusManager.getStatusString()
gui.Log.Warn(appStatus)
if appStatus == "" {

View file

@ -788,9 +788,11 @@ func (gui *Gui) renderGlobalOptions() error {
func (gui *Gui) goEvery(interval time.Duration, stop chan struct{}, function func() error) {
go func() {
ticker := time.NewTicker(interval)
defer ticker.Stop()
for {
select {
case <-time.Tick(interval):
case <-ticker.C:
_ = function()
case <-stop:
return

View file

@ -78,8 +78,10 @@ func (m *ViewBufferManager) NewCmdTask(cmd *exec.Cmd, linesToRead int) func(chan
loaded := false
go func() {
ticker := time.NewTicker(time.Millisecond * 100)
defer ticker.Stop()
select {
case <-time.Tick(time.Millisecond * 100):
case <-ticker.C:
if !loaded {
m.beforeStart()
m.writer.Write([]byte("loading..."))