Sleep main and worker loops on idle

This commit is contained in:
Drew DeVault 2018-01-10 08:35:26 -05:00
parent b5d5e0dbed
commit 305446abfd
2 changed files with 8 additions and 1 deletions

View file

@ -2,6 +2,7 @@ package main
import (
"fmt"
"time"
"git.sr.ht/~sircmpwn/aerc2/config"
"git.sr.ht/~sircmpwn/aerc2/worker"
@ -28,10 +29,15 @@ func main() {
workers = append(workers, work)
}
for {
activity := false
for _, worker := range workers {
if msg := worker.GetMessage(); msg != nil {
activity = true
fmt.Printf("<- %T\n", msg)
}
}
if !activity {
time.Sleep(100 * time.Millisecond)
}
}
}

View file

@ -4,6 +4,7 @@ import (
"git.sr.ht/~sircmpwn/aerc2/worker/types"
"fmt"
"time"
)
type IMAPWorker struct {
@ -52,7 +53,7 @@ func (w *IMAPWorker) Run() {
fmt.Printf("<= %T\n", msg)
w.handleMessage(msg)
default:
// no-op
time.Sleep(100 * time.Millisecond)
}
}
}