[fpc-pascal]Crashes with multithreading
Nico Erfurth
masta at computerman.de
Mon Dec 11 18:26:00 CET 2000
>>
>> JM> FPC's heap manager and IO functions (writeln/readln) are *not* thread
>> JM> safe. That's probably what's causing the crashes. Add the cmem unit (from
>> JM> the "packages" units) as the first unit in your "uses" clause, then
>> JM> you're at least safe on the memory management side. You can't use heaptrc
>> JM> with it though.
>> Thank you for such fast reply. But if IO operations not thread safe,
>> does it means that all file operations also unsafe ?
> Shortly said: Yes. The only solution for this is to use separate
> streams in each thread, then it'll work fine.
The problem is, nothing in FPC is threadsafe, even the TThread-Class
itself (InitThreads/DoneThreads).
The FPC-Team really needs to make the RTL and all other classes
threadsafe. Its nearly impossible to trace errors in threaded applications.
regards Nico Erfurth
More information about the fpc-pascal
mailing list