Commit Detail
Commit 6b17864
Cleanup: `callImpl` doesn't need `ownCallContext` and `thisCap` anymore. Since we're no longer using the hack where `callImpl()` runs as part of a `ctx.addTask()`, it's now the case that the promise returned by `callImpl` will be canceled if the incoming RPC is canceled. The whole reason to hold onto `thisCap` is because if the RPC was canceled, then the RPC server could subsequently be dropped, but the addTask()ed callImpl() could still be running, so it needed to make sure `this` didn't disappear under it. But now the body of `callImpl()` will actually be canceled, so it doesn't matter if `this` goes away. We still do need `ownCallContext`, but we can acquire it later than we did before, inside the body of `callImpl()` -- because if the call is canceled before that, we won't get to this point anyway.
Files changed
1 file changed~1 modified