In article <[EMAIL PROTECTED]>, Craig Rodrigues <[EMAIL PROTECTED]> wrote: > > pthread_self() returns something of type pthread_t. > This code works under Linux, because pthread_t is mapped to an integer value. > > However, on FreeBSD, pthread_t is a pointer to struct pthread, so this > code does not compile:
FreeBSD violates POSIX in this respect. The 1003.1 standard (section 2.5) requires pthread_t to be an arithmetic type. We are non-compliant in the same way for almost all of the primary thread-related types: pthread_attr_t pthread_mutex_t pthread_mutexattr_t pthread_cond_t pthread_condattr_t pthread_once_t We got it right for pthread_key_t, though. :-) John -- John Polstra John D. Polstra & Co., Inc. Seattle, Washington USA "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message