On Thu, 30 Jan 2014, Mark Morgan Lloyd wrote:
Marco van de Voort wrote:
In our previous episode, Mark Morgan Lloyd said:
Both yes, because anything but that was never fully supported with Resume
in
the first place.
Second question: now that Suspend is deprecated, what should a thread do
if it wants to stop processing pending a subsequent resume?
Add a Tevent, and block on it. IOW nothing built-in.
OK, noted. But as a stylistic point it seems to me that this very basic
functionality has been ripped out of the RTL (Classes.TThread) and moved
into the FCL (Syncobjs.TEvent) leaving no adequate substitute.
Classes was originally FCL too. That kind of thinking of RTL vs FCL based
on
functional division is outdated. Now it is mostly just compiler
bootstrapping. (even more so since the recent creation of rtl-* packages)
Although it's still significant when it comes to documentation, particularly
when starting at e.g. http://lazarus-ccr.sourceforge.net/docs/
I'm trying to dig through things... if I recall correctly it's not possible
to do something like {$if defined(TThread.Resume) } but I must admit that
I'm having a hard time finding defined() at all, I think
http://www.freepascal.org/docs-html/prog/progsu29.html#x35-340001.1.29 needs
a link to
http://www.freepascal.org/docs-html/prog/progsu125.html#x137-1380002.4.1 or
at least needs the name if the section it's pointing at tightened up.
A good remark.
I added such a link. Will be in 2.6.4.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal