Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-21 Thread Michael Van Canneyt
On Tue, 20 Mar 2018, Anthony Walter wrote: Okay, but the problem with the current implementation in Classes.pas is that Status cannot be used, Terminated cannot be checked, and there is no access to Synchronize. All wrong. See below. As such OnStatus is pointless, and the semantics of chec

Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Anthony Walter
Okay, but the problem with the current implementation in Classes.pas is that Status cannot be used, Terminated cannot be checked, and there is no access to Synchronize. As such OnStatus is pointless, and the semantics of checking Terminated doesn't work. If that's how the these ExecuteInThread clas

Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Michael Van Canneyt
On Tue, 20 Mar 2018, Anthony Walter wrote: A follow up ... I think the best way to handle everything I mentioned is to just create an instance of this thread type, rather than using a class method on TThread. Exactly. The class methods are intended to be used as quick fire-and-forget method

Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Anthony Walter
A follow up ... I think the best way to handle everything I mentioned is to just create an instance of this thread type, rather than using a class method on TThread. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/c

Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Anthony Walter
My bad. I think I looked at the declaration of the method signature and no further, so it's my bad. Basically what needs to happen at least is that Status can be set, Synchronize should be accessible, and Terminated should be public. Nicer to have would be the actual thread class is returned such

Re: [fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Michael Van Canneyt
On Tue, 20 Mar 2018, Anthony Walter wrote: A few years ago I posted in this mailing list about my implementation of creating thread through a simple method. I'm not sure who copied it into the RTL, but I was checking on it today and it's wrong. Wrong in the fact that's its just not usable giv

[fpc-pascal] RTL Thread.ExecuteInThread interface and implementation wrong

2018-03-20 Thread Anthony Walter
A few years ago I posted in this mailing list about my implementation of creating thread through a simple method. I'm not sure who copied it into the RTL, but I was checking on it today and it's wrong. Wrong in the fact that's its just not usable given the copied design. Here is how it should work