Merge "Counterpart of https://vanadium-review.googlesource.com/16748"
diff --git a/impl/google/namespace/jni.go b/impl/google/namespace/jni.go
index 6670de7..5988465 100644
--- a/impl/google/namespace/jni.go
+++ b/impl/google/namespace/jni.go
@@ -15,6 +15,7 @@
"v.io/v23/namespace"
"v.io/v23/naming"
"v.io/v23/security/access"
+ "v.io/v23/verror"
jchannel "v.io/x/jni/impl/google/channel"
jutil "v.io/x/jni/util"
jcontext "v.io/x/jni/v23/context"
@@ -82,6 +83,12 @@
defer freeFunc()
for globReply := range entryChan {
+ // Check for a canceled context error, we surface these as EOF.
+ if errorEntry, ok := globReply.(*naming.GlobReplyError); ok {
+ if verr, ok := errorEntry.Value.Error.(verror.E); ok && verr.ID == verror.ErrCanceled.ID {
+ break
+ }
+ }
jGlobReply, err := jutil.JVomCopy(env, globReply, jGlobReplyClass)
if err != nil {
log.Printf("Couldn't convert Go glob result %v to Java\n", globReply)
diff --git a/impl/google/services/syncbase/jni.go b/impl/google/services/syncbase/jni.go
index d3b3374..87a3e0f 100644
--- a/impl/google/services/syncbase/jni.go
+++ b/impl/google/services/syncbase/jni.go
@@ -110,6 +110,10 @@
jutil.JThrowV(env, err)
return nil
}
+ if err := service.AddNames(ctx, s); err != nil {
+ jutil.JThrowV(env, err)
+ return nil
+ }
jNewCtx, err := jcontext.JavaContext(env, newCtx)
if err != nil {
jutil.JThrowV(env, err)