From 26593f1a6a16c15d0309200b12edf61f0968eda0 Mon Sep 17 00:00:00 2001 From: James DeFelice Date: Sat, 12 Dec 2015 15:33:48 +0000 Subject: [PATCH] use WithoutCancel interface w/ Pop(nil) --- contrib/mesos/pkg/offers/offers.go | 2 +- contrib/mesos/pkg/queue/delay_test.go | 4 ++-- contrib/mesos/pkg/queue/historical_test.go | 14 +++++++------- contrib/mesos/pkg/queue/interface.go | 1 + 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/contrib/mesos/pkg/offers/offers.go b/contrib/mesos/pkg/offers/offers.go index 3a0229d554a..09e35ce1f0c 100644 --- a/contrib/mesos/pkg/offers/offers.go +++ b/contrib/mesos/pkg/offers/offers.go @@ -441,7 +441,7 @@ func (s *offerStorage) ageOffers() { } func (s *offerStorage) nextListener() *offerListener { - obj := s.listeners.Pop(nil) + obj := s.listeners.Pop(queue.WithoutCancel()) if listen, ok := obj.(*offerListener); !ok { //programming error panic(fmt.Sprintf("unexpected listener object %v", obj)) diff --git a/contrib/mesos/pkg/queue/delay_test.go b/contrib/mesos/pkg/queue/delay_test.go index 82512d0ed81..4d192bdc122 100644 --- a/contrib/mesos/pkg/queue/delay_test.go +++ b/contrib/mesos/pkg/queue/delay_test.go @@ -358,7 +358,7 @@ func TestDFIFO_sanity_check(t *testing.T) { // pop last before := time.Now() - x := df.Pop(nil) + x := df.Pop(WithoutCancel()) assert.Equal(a.(*testjob).instance, 2) now := time.Now() @@ -395,7 +395,7 @@ func TestDFIFO_Offer(t *testing.T) { } before := time.Now() - x := dq.Pop(nil) + x := dq.Pop(WithoutCancel()) now := time.Now() waitPeriod := now.Sub(before) diff --git a/contrib/mesos/pkg/queue/historical_test.go b/contrib/mesos/pkg/queue/historical_test.go index 1f1de907837..8597526c684 100644 --- a/contrib/mesos/pkg/queue/historical_test.go +++ b/contrib/mesos/pkg/queue/historical_test.go @@ -75,7 +75,7 @@ func TestFIFO_basic(t *testing.T) { lastInt := _int(0) lastUint := _uint(0) for i := 0; i < amount*2; i++ { - switch obj := f.Pop(nil).(type) { + switch obj := f.Pop(WithoutCancel()).(type) { case _int: if obj <= lastInt { t.Errorf("got %v (int) out of order, last was %v", obj, lastInt) @@ -100,7 +100,7 @@ func TestFIFO_addUpdate(t *testing.T) { got := make(chan *testObj, 2) go func() { for { - got <- f.Pop(nil).(*testObj) + got <- f.Pop(WithoutCancel()).(*testObj) } }() @@ -126,7 +126,7 @@ func TestFIFO_addReplace(t *testing.T) { got := make(chan *testObj, 2) go func() { for { - got <- f.Pop(nil).(*testObj) + got <- f.Pop(WithoutCancel()).(*testObj) } }() @@ -158,24 +158,24 @@ func TestFIFO_detectLineJumpers(t *testing.T) { done := make(chan struct{}) go func() { defer close(done) - if e, a := 13, f.Pop(nil).(*testObj).value; a != e { + if e, a := 13, f.Pop(WithoutCancel()).(*testObj).value; a != e { err = fmt.Errorf("expected %d, got %d", e, a) return } f.Add(&testObj{"foo", 14}) // ensure foo doesn't jump back in line - if e, a := 1, f.Pop(nil).(*testObj).value; a != e { + if e, a := 1, f.Pop(WithoutCancel()).(*testObj).value; a != e { err = fmt.Errorf("expected %d, got %d", e, a) return } - if e, a := 30, f.Pop(nil).(*testObj).value; a != e { + if e, a := 30, f.Pop(WithoutCancel()).(*testObj).value; a != e { err = fmt.Errorf("expected %d, got %d", e, a) return } - if e, a := 14, f.Pop(nil).(*testObj).value; a != e { + if e, a := 14, f.Pop(WithoutCancel()).(*testObj).value; a != e { err = fmt.Errorf("expected %d, got %d", e, a) return } diff --git a/contrib/mesos/pkg/queue/interface.go b/contrib/mesos/pkg/queue/interface.go index 33e43c0c9f7..0cba9522a30 100644 --- a/contrib/mesos/pkg/queue/interface.go +++ b/contrib/mesos/pkg/queue/interface.go @@ -102,4 +102,5 @@ type UniqueDeadlined interface { Deadlined } +// WithoutCancel returns a chan that may never be closed and always blocks func WithoutCancel() <-chan struct{} { return nil }