]> Sergey Matveev's repositories - btrtrc.git/commitdiff
go1.19 compat
authorMatt Joiner <anacrolix@gmail.com>
Sat, 27 May 2023 05:05:23 +0000 (15:05 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sat, 27 May 2023 14:41:35 +0000 (00:41 +1000)
client-nowasm_test.go
client.go
storage/mmap.go

index 3ce43f2ab27c268aa9f4a1fc3a65c767e3588e51..687f4204747862cc29c5f42b13fc9417fb175b3a 100644 (file)
@@ -59,7 +59,7 @@ func TestIssue335(t *testing.T) {
        cfg.DefaultStorage = mmapStorage
        cl, err := NewClient(cfg)
        c.Assert(err, qt.IsNil)
-       defer logErr(cl.Close, "closing client")
+       defer cl.Close()
        tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
        c.Assert(err, qt.IsNil)
        c.Assert(new, qt.IsTrue)
index f1a7a3c73f117100774b9d2c0239becff1689991..a87e44391f657508406c243b74df06602c81b030 100644 (file)
--- a/client.go
+++ b/client.go
@@ -425,10 +425,9 @@ func (cl *Client) eachDhtServer(f func(DhtServer)) {
 }
 
 // Stops the client. All connections to peers are closed and all activity will come to a halt.
-func (cl *Client) Close() error {
+func (cl *Client) Close() (errs []error) {
        var closeGroup sync.WaitGroup // For concurrent cleanup to complete before returning
        cl.lock()
-       var errs []error
        for _, t := range cl.torrents {
                err := t.close(&closeGroup)
                if err != nil {
@@ -442,7 +441,7 @@ func (cl *Client) Close() error {
        cl.unlock()
        cl.event.Broadcast()
        closeGroup.Wait() // defer is LIFO. We want to Wait() after cl.unlock()
-       return errors.Join(errs...)
+       return
 }
 
 func (cl *Client) ipBlockRange(ip net.IP) (r iplist.Range, blocked bool) {
index 1b5d05a24390bff05afeaabfda38d432a6097fff..1851c3238d2618cdc1c43789dff6189013ae2908 100644 (file)
@@ -215,7 +215,11 @@ func (m mmapWithFile) Unmap() (err error) {
        if m.mmap != nil {
                err = m.mmap.Unmap()
        }
-       return errors.Join(err, m.f.Close())
+       fileErr := m.f.Close()
+       if err == nil {
+               err = fileErr
+       }
+       return
 }
 
 func (m mmapWithFile) Bytes() []byte {