@@ -322,9 +322,9 @@ private long getNamespacePid(long pid) throws AttachNotSupportedException, IOExc
322322    private  static  final  String  FIELD  = "field" ;
323323    private  static  final  String  MASK   = "mask" ;
324324
325-     private  static  final  String  SIGNAL_MASK_PATTERN  = "(?<"  + FIELD  + ">Sig\\ p{Alpha}{3}):\\ s+(?<"  + MASK  + ">\\ p{XDigit}{16}).*" ;
325+     private  static  final  Pattern  SIGNAL_MASK_PATTERN  = Pattern . compile ( "(?<"  + FIELD  + ">Sig\\ p{Alpha}{3}):\\ s+(?<"  + MASK  + ">\\ p{XDigit}{16}).*" ) ;
326326
327-     private  static  final  long  SIGQUIT  = 1L  <<  2 ; 
327+     private  static  final  long  SIGQUIT  = 0b100;  // mask bit for SIGQUIT 
328328
329329    private  static  boolean  checkCatchesAndSendQuitTo (int  pid , boolean  throwIfNotReady ) throws  AttachNotSupportedException , IOException  {
330330        var  quitIgn  = false ;
@@ -333,8 +333,6 @@ private static boolean checkCatchesAndSendQuitTo(int pid, boolean throwIfNotRead
333333
334334        final  var  procPid  = PROC .resolve (Integer .toString (pid ));
335335
336-         final  var  p  = Pattern .compile (SIGNAL_MASK_PATTERN );
337- 
338336        var  readBlk  = false ;
339337        var  readIgn  = false ;
340338        var  readCgt  = false ;
@@ -346,21 +344,21 @@ private static boolean checkCatchesAndSendQuitTo(int pid, boolean throwIfNotRead
346344
347345            if  (!line .startsWith ("Sig" )) continue ; // to speed things up ... avoids the matcher/RE invocation... 
348346
349-             final  var  m  = p .matcher (line );
347+             final  var  m  = SIGNAL_MASK_PATTERN .matcher (line );
350348
351349            if  (!m .matches ()) continue ;
352350
353-             var        signals  = m .group (MASK );
354-             final  var  slen     = signals .length ();
351+             var        sigmask  = m .group (MASK );
352+             final  var  slen     = sigmask .length ();
355353
356-             signals  = signals .substring (slen  / 2  , slen ); // only really interested in the non r/t signals ... 
354+             sigmask  = sigmask .substring (slen  / 2  , slen ); // only really interested in the non r/t signals ... 
357355
358-             final  var  sigquit  = (Long .valueOf (signals , 16 ) & SIGQUIT ) != 0L ;
356+             final  var  sigquit  = (Long .valueOf (sigmask , 16 ) & SIGQUIT ) != 0L ;
359357
360358            switch  (m .group (FIELD )) {
361359                case  "SigBlk" : { quitBlk  = sigquit ; readBlk  = true ; break ; }
362-                 case  "SigIgn" : { quitIgn  = sigquit ; readCgt  = true ; break ; }
363-                 case  "SigCgt" : { quitCgt  = sigquit ; readIgn  = true ; break ; }
360+                 case  "SigIgn" : { quitIgn  = sigquit ; readIgn  = true ; break ; }
361+                 case  "SigCgt" : { quitCgt  = sigquit ; readCgt  = true ; break ; }
364362            }
365363
366364            if  (readBlk  && readIgn  && readCgt ) break ;
0 commit comments