[Mono-devel-list] Leak in System.Timers.Timer?

Joe Audette joe_audette at yahoo.com
Thu Mar 10 13:56:45 EST 2005


Looks to me like your creating timers in an infinite loop wich would of course continue to consume resources
 
 while(true) 
    { 
                InitTimeout(ref timeout); 
                System.Threading.Thread.Sleep(10); 
    } 
 
true will always be true so you are spinning off a lot of timers right? Or am I missing something?
 
Regards,
 
Joe


Brian Kroeker <bkroeker at nortel.com> wrote:

I'm seeing what looks like a memory leak somewhere in System.Timers.Timer. I'm using mono 1.1.4 on a linux system. The code I used to reproduce the problem is:

---------------------- 
using System; 


namespace TimerTest 
{ 
    public class TimerTest 
    { 
        static void Main(string[] args) 
        { 
            TimerTest test = new TimerTest(); 

            test.Run(); 
        } 

        public TimerTest() 
        { 
        } 

        public void Run() 
        { 
            System.Timers.Timer timeout = null; 

            while(true) 
            { 
                InitTimeout(ref timeout); 
                System.Threading.Thread.Sleep(10); 
            } 
        } 

        private void InitTimeout(ref System.Timers.Timer timer) 
        { 
            if(timer != null) 
            { 
                timer.Stop(); 
                timer = null; 
            } 

            timer = new System.Timers.Timer(); 
            timer.AutoReset = false; 
            timer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimeout); 
            timer.Interval = 30000; 
            timer.Start(); 
        } 

        private void OnTimeout(object source, System.Timers.ElapsedEventArgs e) 
        { 
        } 
    } 
} 
-------------- 

Does anyone else see this problem? Am I missing something here? I see the memory usage on my system increase fairly quickly.

Thanks, 
Brian 


joe_audette at yahoo.com
http://www.joeaudette.com
http://www.mojoportal.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20050310/f81cf395/attachment.html 


More information about the Mono-devel-list mailing list