[arvados] updated: 2.7.0-5662-g8e24aa37b7
git repository hosting
git at public.arvados.org
Fri Jan 5 21:55:15 UTC 2024
Summary of changes:
sdk/go/arvados/keep_cache.go | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
via 8e24aa37b7a2c788dd706013a36da6ca975fb981 (commit)
via d9af2e4f8af04dae72ff35a0bf424ff12d6015cf (commit)
via 88fcca6c8c4a7dc3626cceeda61c584f258b158a (commit)
from ec8d4899d74ea76c30cb394dfcda6a54cd9e6652 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 8e24aa37b7a2c788dd706013a36da6ca975fb981
Author: Tom Clegg <tom at curii.com>
Date: Fri Jan 5 15:40:04 2024 -0500
20318: Fix nil pointer usage.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index ff9a742fb1..2b578bd1de 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -308,9 +308,11 @@ func (cache *DiskCache) ReadAt(locator string, dst []byte, offset int) (int, err
var writef *os.File
var err error
defer func() {
- closeErr := writef.Close()
- if err == nil {
- err = closeErr
+ if writef != nil {
+ closeErr := writef.Close()
+ if err == nil {
+ err = closeErr
+ }
}
progress.cond.L.Lock()
progress.err = err
commit d9af2e4f8af04dae72ff35a0bf424ff12d6015cf
Author: Tom Clegg <tom at curii.com>
Date: Fri Jan 5 15:33:38 2024 -0500
20318: Update stale comment.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index f2618b9d00..ff9a742fb1 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -456,9 +456,10 @@ func (cache *DiskCache) quickReadAt(cachefilename string, dst []byte, offset int
cache.heldopenLock.Unlock()
if isnew {
- // Open and flock the file, then call wg.Done() to
- // unblock any other goroutines that are waiting in
- // the !isnew case above.
+ // Open and flock the file, save the filehandle (or
+ // error) in heldopen.f, and release the write lock so
+ // other goroutines waiting at heldopen.RLock() below
+ // can use the shared filehandle (or shared error).
f, err := os.Open(cachefilename)
if err == nil {
err = syscall.Flock(int(f.Fd()), syscall.LOCK_SH)
commit 88fcca6c8c4a7dc3626cceeda61c584f258b158a
Author: Tom Clegg <tom at curii.com>
Date: Fri Jan 5 15:33:26 2024 -0500
20318: Note no-op defers in comments.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index b6b2a9da66..f2618b9d00 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -175,7 +175,11 @@ func (cache *DiskCache) BlockWrite(ctx context.Context, opts BlockWriteOptions)
pipereader, pipewriter := io.Pipe()
defer pipereader.Close()
go func() {
+ // Note this is a double-close (which is a no-op) in
+ // the happy path.
defer tmpfile.Close()
+ // Note this is a no-op in the happy path (the
+ // uniquely named tmpfilename will have been renamed).
defer os.Remove(tmpfilename)
defer pipewriter.Close()
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list