mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[threading] IJPL-195357: Make resetThreadContext a real higher-order function
GitOrigin-RevId: c833513327dc1fd4fd0b9a755af6df2d478946d8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3828ef5e31
commit
a8c6da86ad
@@ -3,7 +3,6 @@ package com.intellij.compiler.server;
|
||||
|
||||
import com.intellij.concurrency.ConcurrentCollectionFactory;
|
||||
import com.intellij.concurrency.ThreadContext;
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.util.concurrency.ChildContext;
|
||||
import com.intellij.util.concurrency.Propagation;
|
||||
@@ -247,30 +246,34 @@ class BuildMessageDispatcher extends SimpleChannelInboundHandlerAdapter<CmdlineR
|
||||
|
||||
@Override
|
||||
public void buildStarted(@NotNull UUID sessionId) {
|
||||
try (AccessToken ignored = ThreadContext.resetThreadContext()) {
|
||||
ThreadContext.resetThreadContext(() -> {
|
||||
myCapturedContext.runInChildContext(() -> myDelegate.buildStarted(sessionId));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleBuildMessage(Channel channel, UUID sessionId, CmdlineRemoteProto.Message.BuilderMessage msg) {
|
||||
try (AccessToken ignored = ThreadContext.resetThreadContext()) {
|
||||
ThreadContext.resetThreadContext(() -> {
|
||||
myCapturedContext.runInChildContext(() -> myDelegate.handleBuildMessage(channel, sessionId, msg));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFailure(@NotNull UUID sessionId, CmdlineRemoteProto.Message.Failure failure) {
|
||||
try (AccessToken ignored = ThreadContext.resetThreadContext()) {
|
||||
ThreadContext.resetThreadContext(() -> {
|
||||
myCapturedContext.runInChildContext(() -> myDelegate.handleFailure(sessionId, failure));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sessionTerminated(@NotNull UUID sessionId) {
|
||||
try (AccessToken ignored = ThreadContext.resetThreadContext()) {
|
||||
ThreadContext.resetThreadContext(() -> {
|
||||
myCapturedContext.runInChildContext(() -> myDelegate.sessionTerminated(sessionId));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user