From ebd780e3fd682e79c59152c8d6c2e271dc19440d Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Thu, 17 Aug 2017 11:43:17 +0200
Subject: [PATCH] end REPL when exceptions occur during shutdown

---
 .../src/com/oracle/truffle/r/launcher/RCommand.java    | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java
index fc99b4772b..dc891a9400 100644
--- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java
+++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java
@@ -104,9 +104,13 @@ public class RCommand {
     }
 
     public static void main(String[] args) {
-        System.exit(doMain(prependCommand(args), null, System.in, System.out, System.err));
-        // never returns
-        throw fatal("main should never return");
+        try {
+            System.exit(doMain(prependCommand(args), null, System.in, System.out, System.err));
+            // never returns
+            throw fatal("main should never return");
+        } catch (Throwable t) {
+            throw fatal(t, "error during REPL execution");
+        }
     }
 
     static String[] prependCommand(String[] args) {
-- 
GitLab