Fix unchecked error.
authorTom Clegg <tom@tomclegg.ca>
Thu, 12 Aug 2021 13:56:50 +0000 (09:56 -0400)
committerTom Clegg <tom@tomclegg.ca>
Thu, 12 Aug 2021 13:56:50 +0000 (09:56 -0400)
No issue #

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

exportnumpy.go

index c8e9f7cfc59a1743eeec83a56e0228303e6a49ac..8815b4b26a705bd3877507244c6b091db83e74d4 100644 (file)
@@ -251,19 +251,23 @@ func (cmd *exportNumpy) RunCommand(prog string, args []string, stdin io.Reader,
                                return
                        }
                        defer f.Close()
-                       npw, err := gonpy.NewWriter(f)
+                       // gonpy closes our writer and ignores errors. Give it a nopCloser so we can close f properly.
+                       npw, err := gonpy.NewWriter(nopCloser{f})
                        if err != nil {
                                lastErr.Store(err)
                                return
                        }
                        npw.Shape = []int{len(names), len(pdis) * 2}
-                       npw.WriteInt8(data)
-                       // gonpy closes f and ignores errors, doh.
-                       // err = f.Close()
-                       // if err != nil {
-                       //      lastErr.Store(err)
-                       //      return
-                       // }
+                       err = npw.WriteInt8(data)
+                       if err != nil {
+                               lastErr.Store(err)
+                               return
+                       }
+                       err = f.Close()
+                       if err != nil {
+                               lastErr.Store(err)
+                               return
+                       }
                }()
        }
        wg.Wait()