]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix stall if data goes missing during a read
authorMatt Joiner <anacrolix@gmail.com>
Thu, 28 Jan 2016 02:21:50 +0000 (13:21 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 28 Jan 2016 02:21:50 +0000 (13:21 +1100)
reader.go

index 8c3fa56fafcee0593cffe0411d8d4bb2b0892608..acc481cf2d9e1e8fe2449d6d5c49ca4c0c70037e 100644 (file)
--- 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()
 }