From: Matt Joiner Date: Thu, 28 Jan 2016 02:21:50 +0000 (+1100) Subject: Fix stall if data goes missing during a read X-Git-Tag: v1.0.0~939^2~1 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=9e50da4892e52a613e0183d83c8d597a137e88eb;p=btrtrc.git Fix stall if data goes missing during a read --- diff --git a/reader.go b/reader.go index 8c3fa56f..acc481cf 100644 --- a/reader.go +++ b/reader.go @@ -73,7 +73,14 @@ func (r *Reader) available(off, max int64) (ret int64) { return } +func (r *Reader) tickleClient() { + r.t.torrent.readersChanged(r.t.cl) +} + func (r *Reader) waitReadable(off int64) { + // We may have been sent back here because we were told we could read but + // it failed. + r.tickleClient() r.t.cl.event.Wait() }