hemantk-12 commented on code in PR #7006:
URL: https://github.com/apache/ozone/pull/7006#discussion_r1699216710
##########
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java:
##########
@@ -34,20 +41,25 @@ public enum SignalLogger {
INSTANCE;
- private static final String[] SIGNALS = new String[] {"TERM", "HUP", "INT"};
+ private static final Set<Signal> SIGNALS = EnumSet.of(Signal.SIGHUP,
Signal.SIGINT, Signal.SIGTERM);
+
+ private static final POSIX POSIX_IMPL = POSIXFactory.getJavaPOSIX();
+
+ private static final SignalHandler DEFAULT_HANDLER = System::exit;
private boolean registered = false;
/**
* Our signal handler.
*/
- private static class Handler implements sun.misc.SignalHandler {
+ private static class Handler implements SignalHandler {
private final Logger log;
- private final sun.misc.SignalHandler prevHandler;
+ private final SignalHandler prevHandler;
- Handler(String name, Logger log) {
+ Handler(Signal signal, Logger log) {
this.log = log;
- prevHandler = sun.misc.Signal.handle(new sun.misc.Signal(name), this);
+ SignalHandler handler = POSIX_IMPL.signal(signal, this);
+ prevHandler = handler != null ? handler : DEFAULT_HANDLER;
Review Comment:
This is the changed missed in previous PR #6876.
##########
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java:
##########
@@ -34,20 +41,25 @@ public enum SignalLogger {
INSTANCE;
- private static final String[] SIGNALS = new String[] {"TERM", "HUP", "INT"};
+ private static final Set<Signal> SIGNALS = EnumSet.of(Signal.SIGHUP,
Signal.SIGINT, Signal.SIGTERM);
+
+ private static final POSIX POSIX_IMPL = POSIXFactory.getJavaPOSIX();
+
+ private static final SignalHandler DEFAULT_HANDLER = System::exit;
private boolean registered = false;
/**
* Our signal handler.
*/
- private static class Handler implements sun.misc.SignalHandler {
+ private static class Handler implements SignalHandler {
private final Logger log;
- private final sun.misc.SignalHandler prevHandler;
+ private final SignalHandler prevHandler;
- Handler(String name, Logger log) {
+ Handler(Signal signal, Logger log) {
this.log = log;
- prevHandler = sun.misc.Signal.handle(new sun.misc.Signal(name), this);
+ SignalHandler handler = POSIX_IMPL.signal(signal, this);
+ prevHandler = handler != null ? handler : DEFAULT_HANDLER;
Review Comment:
This is the change missed in the previous PR #6876.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]