Don't eat exception from timer handler (this is system timer not SWF timer)
authorMarek Safar <marek.safar@gmail.com>
Fri, 12 Jul 2013 15:44:53 +0000 (17:44 +0200)
committerMarek Safar <marek.safar@gmail.com>
Fri, 12 Jul 2013 15:44:53 +0000 (17:44 +0200)
mcs/class/corlib/System.Threading/Timer.cs

index 22786f6588110e200e7f0d68be9cecc9bdcab734..63358776056a619725b9684e8ad5935200d1efc2 100644 (file)
@@ -311,13 +311,10 @@ namespace System.Threading
                                return idx;
                        }
 
-                       static WaitCallback TimerCaller = new WaitCallback (TimerCB);
                        static void TimerCB (object o)
                        {
                                Timer timer = (Timer) o;
-                               try {
-                                       timer.callback (timer.state);
-                               } catch {}
+                               timer.callback (timer.state);
                        }
 
                        void SchedulerThread ()
@@ -340,7 +337,7 @@ namespace System.Threading
                                                        list.RemoveAt (i);
                                                        count--;
                                                        i--;
-                                                       ThreadPool.UnsafeQueueUserWorkItem (TimerCaller, timer);
+                                                       ThreadPool.UnsafeQueueUserWorkItem (TimerCB, timer);
                                                        long period = timer.period_ms;
                                                        long due_time = timer.due_time_ms;
                                                        bool no_more = (period == -1 || ((period == 0 || period == Timeout.Infinite) && due_time != Timeout.Infinite));