physical-lock: Remove server.Stop.
Change-Id: Id8b0d8b193577282d172b017931fff53151995e4
MultiPart: 4/4
diff --git a/go/src/v.io/x/lock/lock/main.go b/go/src/v.io/x/lock/lock/main.go
index c523429..2af5173 100644
--- a/go/src/v.io/x/lock/lock/main.go
+++ b/go/src/v.io/x/lock/lock/main.go
@@ -360,11 +360,15 @@
env: env,
notify: make(chan error),
}
+ ctx, cancel := context.WithCancel(ctx)
_, server, err := v23.WithNewServer(ctx, recvKeySuffix, service, security.AllowEveryone())
if err != nil {
return fmt.Errorf("failed to create server to receive keys: %v", err)
}
- defer server.Stop()
+ defer func() {
+ cancel()
+ <-server.Closed()
+ }()
fmt.Println("Waiting for keys")
return <-service.notify
}
diff --git a/go/src/v.io/x/lock/lockd/starter.go b/go/src/v.io/x/lock/lockd/starter.go
index 5985f77..ca89aa9 100644
--- a/go/src/v.io/x/lock/lockd/starter.go
+++ b/go/src/v.io/x/lock/lockd/starter.go
@@ -58,14 +58,16 @@
return nil, nil, err
}
claimed := make(chan struct{})
+ ctx, cancel := context.WithCancel(ctx)
_, server, err := v23.WithNewServer(ctx, lockObjectName(ctx), newUnclaimedLock(claimed, configDir), security.AllowEveryone())
if err != nil {
stopMT()
return nil, nil, err
}
stopUnclaimedLock := func() {
+ cancel()
vlog.Infof("Stopping unclaimed lock server...")
- server.Stop()
+ <-server.Closed()
vlog.Infof("Stopped unclaimed lock server...")
stopMT()
}
@@ -89,14 +91,16 @@
stopMT()
return nil, err
}
+ ctx, cancel := context.WithCancel(ctx)
_, server, err := v23.WithNewServer(ctx, lockObjectName(ctx), newLock(), security.DefaultAuthorizer())
if err != nil {
stopMT()
return nil, err
}
stopLock := func() {
+ cancel()
vlog.Infof("Stopping lock server...")
- server.Stop()
+ <-server.Closed()
vlog.Infof("Stopped lock server...")
stopMT()
}