Hi,
im currently testing my pascal-bindings for the Xenomai [1] realtime extension for Linux. Xenomai allows to program hard realtime programs in userspace. Its a normal library used with $linklib.
Its working so far, but using multiple tasks, there are some strange effects (exceptions,hangs).
From the freepascal documentation:
"Although it is not forbidden to do so, it is not recommended to use system-specific threading routines: ..."
So I do not really wonder about the effects, but I need a way to make this work.
As far as I understood, I need to include the unit cthreads, which i have done. If i call rt_task_create, the xenomai-library makes a clone() call to create the new task, so this is a system-specific threading routine. It works so far, but...
When I include cthreads and (manually?) initialize the ThreadManager, would it be ok ? Or do I need to call CreateThread() and in the thread rt_task_shadow(), which makes the current Pascal-created thread a realtime task? Are any system-specific blocking calls a problem?
Any suggestions? Can be linux specific, as xenomai is for linux only.
thank you
kisda
