Also I think a base thread should remain free from this. You can of course
create a descendant of tthread that is event driven (e.g. messagequeue, pump
and list of known events/methodvars in overriden tthread.execute)
Right. That is a decent way to do it "optionally" (as I of course would
do it, not to break any running code). So a TApplicationThread class
might be defined in the RTL as a descendant of TThread. It might have a
TApplicationThread property the type of which might be a descendant of
TCustomApplication and provides the non preemptive scheduling stuff
based in messages.
But before doing this I'd like to do/have a TApplication that might be a
descendant of TCustomApplication for the main thread for the same
purpose here. (similar as Lazarus, but not using any GUI stuff).
TTimer, TThread (.Synchronize ! ) etc. might be affected by this, too.
-Michael
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel