diff --git a/bar.go b/bar.go index 9d114cd..30a3cea 100644 --- a/bar.go +++ b/bar.go @@ -448,12 +448,12 @@ } } -func (b *Bar) forceRefresh(refreshCh chan interface{}) { +func (b *Bar) forceRefresh(refreshCh chan<- interface{}) { b.container.bwg.Add(1) go b.forceRefreshImpl(refreshCh) } -func (b *Bar) forceRefreshImpl(refreshCh chan interface{}) { +func (b *Bar) forceRefreshImpl(refreshCh chan<- interface{}) { defer b.container.bwg.Done() var anyOtherRunning bool b.container.traverseBars(func(bar *Bar) bool { diff --git a/heap_manager.go b/heap_manager.go index 079c0d0..757d5a5 100644 --- a/heap_manager.go +++ b/heap_manager.go @@ -24,7 +24,7 @@ } type iterData struct { - iter chan *Bar + iter chan<- *Bar drop chan struct{} } @@ -111,12 +111,12 @@ m <- heapRequest{cmd: h_push, data: data} } -func (m heapManager) iter(iter chan *Bar, drop chan struct{}) { +func (m heapManager) iter(iter chan<- *Bar, drop chan struct{}) { data := iterData{iter, drop} m <- heapRequest{cmd: h_iter, data: data} } -func (m heapManager) drain(iter chan *Bar, drop chan struct{}) { +func (m heapManager) drain(iter chan<- *Bar, drop chan struct{}) { data := iterData{iter, drop} m <- heapRequest{cmd: h_drain, data: data} }