[fpc-devel] Need patch for bugs : 0011503 / 0009472
vsnijders at quicknet.nl
Thu Jun 19 14:44:18 CEST 2008
Michael Van Canneyt schreef:
> On Thu, 19 Jun 2008, Boian Mitov wrote:
>> Here is a code sniped that sows just one example of the problem:
>> This is a very simple example of how important the order really is:
>> We have even more crucial problems related with this. This is just a simple
>> destructor TALBasicAudioOut.Destroy();
>> WriteLock : IOWLockSection;
>> WriteLock := FLock.StopLock();
>> WriteLock := NIL;
>> You can see that the WriteLock MUST be released before the FLock.Free();,
> Maybe Jonas or Florian can comment on this.
When you said function blocks, it made me think of nested procedures.
So I think you write it like:
WriteLock : IOWLockSection;
WriteLock := FLock.StopLock();
Then you have made it clear that after WriteLock has to be cleared
before freeing the lock. Of course it still fails if a periodic mark and
sweep would be used by the compiler.
More information about the fpc-devel