|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright 2012-2013 the original author or authors.
|
|
|
|
|
* Copyright 2012-2014 the original author or authors.
|
|
|
|
|
*
|
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
@ -20,13 +20,20 @@ import sun.misc.Signal;
|
|
|
|
|
import sun.misc.SignalHandler;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Utilities for working with signal handling.
|
|
|
|
|
*
|
|
|
|
|
* @author Dave Syer
|
|
|
|
|
* @since 1.1.0
|
|
|
|
|
*/
|
|
|
|
|
@SuppressWarnings("restriction")
|
|
|
|
|
public class SignalUtils {
|
|
|
|
|
|
|
|
|
|
private static final Signal SIG_INT = new Signal("INT");
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Handle {@literal INT} signals by calling the specified {@link Runnable}
|
|
|
|
|
* @param runnable the runnable to call on SIGINT.
|
|
|
|
|
*/
|
|
|
|
|
public static void attachSignalHandler(final Runnable runnable) {
|
|
|
|
|
Signal.handle(SIG_INT, new SignalHandler() {
|
|
|
|
|
@Override
|
|
|
|
|