diff options
author | Nathan Harmata <nharmata@google.com> | 2016-01-06 20:29:56 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2016-01-07 13:46:46 +0000 |
commit | eb0d376beb618790c0526e80df5375248e875b8c (patch) | |
tree | 8369b0635d506d2fe80dcdcadce8a35fd7fcc310 /src | |
parent | 1139733107294804c42d5f0cefaf10af60a7dd82 (diff) |
Remove Runnables and RuntimeUtils from Bazel. An earlier commit moved these classes in because we thought we would need them, but they ended up not being needed.
--
MOS_MIGRATED_REVID=111534289
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/util/Runnables.java | 40 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/util/RuntimeUtils.java | 48 |
2 files changed, 0 insertions, 88 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/Runnables.java b/src/main/java/com/google/devtools/build/lib/util/Runnables.java deleted file mode 100644 index db628914d4..0000000000 --- a/src/main/java/com/google/devtools/build/lib/util/Runnables.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2015 The Bazel Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package com.google.devtools.build.lib.util; - -/** Utilities for dealing with {@link Runnable}s that may call into uncontrolled code. */ -public class Runnables { - private Runnables() {} - - /** - * A {@link Runnable} that terminates the jvm instead of throwing an unchecked exception in - * {@link Runnable#run}. - * - * <p>This is useful if the {@link Runnable} may be executed by code outside of our control, e.g. - * if we call into library code that silently swallows {@link RuntimeException}s from our code. - */ - // TODO(bazel-team): Long-term, callers may want to handle exceptions more gracefully. - public abstract static class AbstractCrashTerminatingRunnable implements Runnable { - protected abstract void runImpl(); - - @Override - public final void run() { - try { - runImpl(); - } catch (Throwable t) { - RuntimeUtils.halt(t); - } - } - } -} diff --git a/src/main/java/com/google/devtools/build/lib/util/RuntimeUtils.java b/src/main/java/com/google/devtools/build/lib/util/RuntimeUtils.java deleted file mode 100644 index c8dbb5c524..0000000000 --- a/src/main/java/com/google/devtools/build/lib/util/RuntimeUtils.java +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2015 The Bazel Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package com.google.devtools.build.lib.util; - -import com.google.common.base.Throwables; - -import java.util.logging.Logger; - -import javax.annotation.Nullable; - -/** Utilities for interacting with the jvm. */ -public class RuntimeUtils { - private static final Logger LOG = Logger.getLogger(RuntimeUtils.class.getName()); - - @Nullable private static volatile Throwable unprocessedThrowableInTest = null; - - private RuntimeUtils() {} - - /** - * In tests, System.exit may be disabled. Thus, the main thread should call this method whenever - * it is about to block on thread completion that might hang because of a failed halt below. - */ - public static void maybePropagateUnprocessedThrowableIfInTest() { - Throwables.propagateIfPossible(unprocessedThrowableInTest); - } - - /** Terminates the jvm with the exit code {@link ExitCode#BLAZE_INTERNAL_ERROR}. */ - public static void halt(Throwable crash) { - LOG.info("About to call System#exit. Halt requested due to crash. See stderr for details."); - System.err.println("About to call System#exit. Halt requested due to crash"); - crash.printStackTrace(); - System.err.println("... called from"); - new Exception().printStackTrace(); - unprocessedThrowableInTest = crash; - System.exit(ExitCode.BLAZE_INTERNAL_ERROR.getNumericExitCode()); - } -} |