about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--cmd/aerc/main.go6
-rw-r--r--worker/imap/worker.go3
2 files changed, 8 insertions, 1 deletions
diff --git a/cmd/aerc/main.go b/cmd/aerc/main.go
index d5d0897..845d176 100644
--- a/cmd/aerc/main.go
+++ b/cmd/aerc/main.go
@@ -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)
+		}
 	}
 }
diff --git a/worker/imap/worker.go b/worker/imap/worker.go
index 97cd4b0..7525da5 100644
--- a/worker/imap/worker.go
+++ b/worker/imap/worker.go
@@ -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)
 		}
 	}
 }