Mercurial Hosting > luan
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); |