aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/rpcserver/rpcserver.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-01-30 15:25:31 +0100
committerAleksandr Nogikh <nogikh@google.com>2025-02-03 16:09:45 +0000
commit8f276ef29583e363bb886170f2f424f2d2a0e244 (patch)
treed37104b5067213b6058b7e588a3fc61b049b8c7f /pkg/rpcserver/rpcserver.go
parent52e7ad470cd3623478252840dce6484603ef1cf4 (diff)
pkg/vminfo: gracefully handle context abortion
On context abortion, return a special error. On the pkg/rpcserver side, recognize and process it.
Diffstat (limited to 'pkg/rpcserver/rpcserver.go')
-rw-r--r--pkg/rpcserver/rpcserver.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go
index bcfcbdf41..d0e6a15f1 100644
--- a/pkg/rpcserver/rpcserver.go
+++ b/pkg/rpcserver/rpcserver.go
@@ -420,6 +420,10 @@ func (serv *server) runCheck(ctx context.Context, info *handshakeResult) error {
close(serv.cfg.machineCheckStarted)
}
enabledCalls, disabledCalls, features, checkErr := serv.checker.Run(ctx, info.Files, info.Features)
+ if checkErr == vminfo.ErrAborted {
+ return nil
+ }
+
enabledCalls, transitivelyDisabled := serv.target.TransitivelyEnabledCalls(enabledCalls)
// Note: need to print disbled syscalls before failing due to an error.
// This helps to debug "all system calls are disabled".