[fpc-devel] about realtime tasks

Stefan Kisdaroczi kisda at hispeed.ch
Wed Jan 18 11:30:10 CET 2006


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

[1] http://www.xenomai.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20060118/4f0ececc/attachment.sig>


More information about the fpc-devel mailing list