From b2fd24a1328bd38fb61529ec5cfc9e39110409e4 Mon Sep 17 00:00:00 2001 From: Benjamin Gaidioz Date: Wed, 17 Jan 2024 08:48:13 +0100 Subject: [PATCH] Fixed RD-10460: LocalInferrerService is not stopped --- .../client/rql2/truffle/Rql2TruffleCompilerService.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/snapi-client/src/main/scala/raw/client/rql2/truffle/Rql2TruffleCompilerService.scala b/snapi-client/src/main/scala/raw/client/rql2/truffle/Rql2TruffleCompilerService.scala index 3a3dc24fb..bc469c016 100644 --- a/snapi-client/src/main/scala/raw/client/rql2/truffle/Rql2TruffleCompilerService.scala +++ b/snapi-client/src/main/scala/raw/client/rql2/truffle/Rql2TruffleCompilerService.scala @@ -66,7 +66,13 @@ class Rql2TruffleCompilerService(maybeClassLoader: Option[ClassLoader] = None)( val inferrer = InferrerServiceProvider(maybeClassLoader) // Initialize compiler context - new CompilerContext(language, user, inferrer, sourceContext, maybeClassLoader) + try { + new CompilerContext(language, user, inferrer, sourceContext, maybeClassLoader) + } catch { + case NonFatal(ex) => + inferrer.stop() + throw ex + } } private def getProgramContext(user: AuthenticatedUser, environment: ProgramEnvironment): ProgramContext = {