comparison src/luan/modules/ThreadLuan.java @ 1441:83e2585104b9

logging
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 24 Jan 2020 12:59:20 -0500
parents 4e50b78c7040
children 42c07ecb0ddc
comparison
equal deleted inserted replaced
1440:4e50b78c7040 1441:83e2585104b9
54 54
55 private static Map<String,Reference<ScheduledFuture>> scheduleds = new ConcurrentHashMap<String,Reference<ScheduledFuture>>(); 55 private static Map<String,Reference<ScheduledFuture>> scheduleds = new ConcurrentHashMap<String,Reference<ScheduledFuture>>();
56 56
57 private static void cancel(ScheduledFuture sf,String src) { 57 private static void cancel(ScheduledFuture sf,String src) {
58 boolean b = sf.cancel(false); 58 boolean b = sf.cancel(false);
59 if( !b ) 59 // if( !b )
60 logger.error(src+" cancel failed isCancelled="+sf.isCancelled()+" isDone="+sf.isDone()); 60 logger.error(src+" cancel="+b+" isCancelled="+sf.isCancelled()+" isDone="+sf.isDone()+" "+sf);
61 } 61 }
62 62
63 public static void schedule(LuanFunction fn,LuanTable options) 63 public static void schedule(LuanFunction fn,LuanTable options)
64 throws LuanException 64 throws LuanException
65 { 65 {
75 if( id != null ) { 75 if( id != null ) {
76 Reference<ScheduledFuture> ref = scheduleds.remove(id); 76 Reference<ScheduledFuture> ref = scheduleds.remove(id);
77 if( ref != null ) { 77 if( ref != null ) {
78 ScheduledFuture sf = ref.get(); 78 ScheduledFuture sf = ref.get();
79 if( sf != null ) 79 if( sf != null )
80 cancel(sf,"id"); 80 cancel(sf,"id "+id);
81 } 81 }
82 } 82 }
83 Luan luan = fn.luan(); 83 Luan luan = fn.luan();
84 LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE); 84 LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE);
85 final Luan newLuan = (Luan)cloner.clone(luan); 85 final Luan newLuan = (Luan)cloner.clone(luan);