2
0
mirror of synced 2025-02-23 22:28:11 +00:00

Move logging inside client lock, for Torrent.String

Fixes #163
This commit is contained in:
Matt Joiner 2017-07-01 16:01:38 +10:00
parent 73b45079b3
commit 824441efa0
2 changed files with 9 additions and 7 deletions

View File

@ -208,8 +208,8 @@ func (r *Reader) readOnceAt(b []byte, pos int64, ctxErr *error) (n int, err erro
err = nil
return
}
log.Printf("error reading torrent %q piece %d offset %d, %d bytes: %s", r.t, pi, po, len(b1), err)
r.t.cl.mu.Lock()
log.Printf("error reading torrent %q piece %d offset %d, %d bytes: %s", r.t, pi, po, len(b1), err)
r.t.updateAllPieceCompletions()
r.t.updateAllPiecePriorities()
r.t.cl.mu.Unlock()

View File

@ -1245,13 +1245,15 @@ func (t *Torrent) dhtAnnouncer() {
return
}
err := t.announceDHT(true)
if err == nil {
func() {
cl.mu.Lock()
t.numDHTAnnounces++
cl.mu.Unlock()
} else {
log.Printf("error announcing %q to DHT: %s", t, err)
}
defer cl.mu.Unlock()
if err == nil {
t.numDHTAnnounces++
} else {
log.Printf("error announcing %q to DHT: %s", t, err)
}
}()
select {
case <-t.closed.LockedChan(&cl.mu):
return