[fpc-pascal] AllocateThreadVars ?
Adriaan van Os
adriaan at adriaan.biz
Wed Oct 9 16:39:14 CEST 2024
I have a program on MacOS that calls CoreAudio which calls the application back in a so-called
AURendererCallback in a separate (com.apple.audio.IOThread.client) thread. This is a pthread
created by the system software, not by the FreePascal RTL.
In that thread, a FreePascal try except block doesn't catch an exception. A globally installed
TExceptProc does. if I look in the RTL code, it looks like a thread created with BeginThread does
some extra things, like calling SysAllocateThreadVars. A comment notes that exception handling
depends on it.
So, it seems plausible that SysAllocateThreadVars (or the AllocateThreadVars method of the current
TThreadManager) must be called once for pthreads created by the system software ? How ? Obviously
I couldn't use a threadvar that tells me whether AllocateThreadVars has been called already ?
Regards,
Adriaan van Os
More information about the fpc-pascal
mailing list