about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-01-10 08:35:26 -0500
committerDrew DeVault <sir@cmpwn.com>2018-01-10 08:37:09 -0500
commit305446abfd66e85fe2c46cb4a07a3abb9fa809a4 (patch)
tree9cb8421a4f6a7efaa87d7bb3cbadc8d2ddf9e346
parentb5d5e0dbedee34bd5d3edf13616f055d4f227d36 (diff)
downloadaerc-305446abfd66e85fe2c46cb4a07a3abb9fa809a4.tar.gz
Sleep main and worker loops on idle
-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)
 		}
 	}
 }