Hello Lazarus-List, Wednesday, September 22, 2010, 12:12:31 AM, you wrote:
V> nice! sometimes the solution is simpler than you think :) V> patient - if i do this it hurts, V> doctor - don't do it then V> you could consider V> - check for locked resources after suspending the thread, resuming locking V> thread of necessary V> - a 'server' thread that other threads send messages to, a bit like a V> database server but for your imaginary app. V> - theres probably plenty of ideas to resolve/work around this if you search V> web Direct use of suspend/resume in i386 at least is a call for serious and very, very difficult to track problems. A simple code like: if A=0 then Thread.Suspend; DoSomething(); if Thread.Suspended then Thread.Resume; Is not garanteed to end in a thread with a resume state. I had experienced (unfortunatly) this problems in the past, and finally changed to events, but it can also be changed to other functions to not call suspend/resume directly and ensure the thread transition from state to state is completed. -- Best regards, José -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus