Browse Source

hls: fix race condition

pull/707/head
aler9 4 years ago
parent
commit
47a975de09
  1. 3
      internal/hls/client.go

3
internal/hls/client.go

@ -100,10 +100,11 @@ func (q *clientSegmentQueue) waitAndPull(ctx context.Context) ([]byte, error) { @@ -100,10 +100,11 @@ func (q *clientSegmentQueue) waitAndPull(ctx context.Context) ([]byte, error) {
q.mutex.Lock()
for len(q.queue) == 0 {
didPush := q.didPush
q.mutex.Unlock()
select {
case <-q.didPush:
case <-didPush:
case <-ctx.Done():
return nil, fmt.Errorf("terminated")
}

Loading…
Cancel
Save