Hi, I have some (dumb) questions regarding threads. I'm sure that this issues have been discussed before but I couldn't find any information...
- The attr parameter of the pthreads_cond_init fc (and others) on linux is is declared as a var parameter, not as a pointer, but it should be a pointer because nil is a valid parameter value. On the other hand, the pthreads unit compiled for SunOS and BSD do declare the attr parameter as a pointer, so fpc code using pthreads on linux is not portable to other unixes (compare de pthr*.inc files). Which version is considered right? (I would prefer the pointers one, because it would save me declaring many useless variables). - The std unix error constants (for example EBUSY) are declared in errnoh.inc that is only included by the unit libc. But I believe to remember that the unit libc is considered deprecated (only for Kylix compatibility and not to be used by new projects) isn't it? So, which is the preferred way of getting EBUSY et al. declared: (a) use libc anyway, (b) include errnoh.inc, (c) declare it the project code? - The pthreads unit does not declare pthread_t, It exists in unixtype but unixtype redefines also some other types that are already defined in pthreads, causing compilation errors if included in the "wrong" order. Shouldn't pthreads define pthread_t? Thanks, Mario _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
