aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java42
1 files changed, 18 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java
index e3e95b4740..f6a37fa334 100644
--- a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java
@@ -412,25 +412,19 @@ public class GrpcServerImpl extends RPCServer implements CommandServerGrpc.Comma
}
}
- private void restartIdleTimeout() {
- synchronized (runningCommands) {
- runningCommands.notify();
- }
- }
-
@Override
public void ping(PingRequest pingRequest, StreamObserver<PingResponse> streamObserver) {
Preconditions.checkState(serving);
- PingResponse.Builder response = PingResponse.newBuilder();
- if (pingRequest.getCookie().equals(requestCookie)) {
- response.setCookie(responseCookie);
- }
-
- streamObserver.onNext(response.build());
- streamObserver.onCompleted();
+ try (RunningCommand command = new RunningCommand()) {
+ PingResponse.Builder response = PingResponse.newBuilder();
+ if (pingRequest.getCookie().equals(requestCookie)) {
+ response.setCookie(responseCookie);
+ }
- restartIdleTimeout();
+ streamObserver.onNext(response.build());
+ streamObserver.onCompleted();
+ }
}
@Override
@@ -440,18 +434,18 @@ public class GrpcServerImpl extends RPCServer implements CommandServerGrpc.Comma
return;
}
- synchronized (runningCommands) {
- RunningCommand command = runningCommands.get(request.getCommandId());
- if (command != null) {
- command.thread.interrupt();
+ try (RunningCommand cancelCommand = new RunningCommand()) {
+ synchronized (runningCommands) {
+ RunningCommand pendingCommand = runningCommands.get(request.getCommandId());
+ if (pendingCommand != null) {
+ pendingCommand.thread.interrupt();
+ }
+
+ startSlowInterruptWatcher(ImmutableSet.of(request.getCommandId()));
}
- startSlowInterruptWatcher(ImmutableSet.of(request.getCommandId()));
+ streamObserver.onNext(CancelResponse.newBuilder().setCookie(responseCookie).build());
+ streamObserver.onCompleted();
}
-
- streamObserver.onNext(CancelResponse.newBuilder().setCookie(responseCookie).build());
- streamObserver.onCompleted();
-
- restartIdleTimeout();
}
}