I am in C# .NET 3.5. It seems, that by registering more than 10 System.Threading.Timers from same thread causes the first ones to die off somehow... Can't believe it though. If that was true, I'd be more than shocked.
Here is the line, where I start a timer, each time a new message arrives:
System.Threading.Timer tmr = new System.Threading.Timer(WaitAckElapsedTmrHandler, msgId, Constants.TIME_TO_WAIT_FOR_ACK, Timeout.Infinite);
What else could be my problem ? I believe have properly locked all thread shared resources and even carefully log all in and outs to/from locked zones -> so I can't see any deadlocks.
How can I detect a deadlock in such a case as this ?