On 8 nov 2006, at 11:16, Ales Katona wrote:
A cleaner naming of problematic parts:
1. TThreadID is defined stand-alone not as a pthread_t, should be
fixed.
2. TThreadHandler (the callback for resume, suspend) has result as
DWord
while posix stuff (pthread_kill etc.) usualy return cInt
3. in linux I saw pthreads functions return longint, I think this is
also investigation worthy.
Question about #1. How should this be handled? Not sure if I can "use"
unixtypes in sysosh.inc...
No, you probably can't since that would add all those types to the
interface of the system unit. But in my mail I proposed a simple
solution: just do it the other way round (type pthread_t = TThreadID)
Question about #2. Well.. this is a tough nut? I suspect it's
because of
various threading backends, but we need to handle those -1 properly if
nothing else but this implies going over by all used pthread functions
and seeing all possible values (which might be OS specific)
A similar solution as TThreadID probably (unless all OSes use signed
results).
#3 is to be investigated.
Simply replace the longints with cInt. Those declarations are from
before the time we had aliases for ctypes in the RTL.
Jonas
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel