threads/150889: PTHREAD_MUTEX_INITIALIZER
+ pthread_mutex_destroy () == EINVAL
Jung-uk Kim
jkim at FreeBSD.org
Fri Sep 24 03:48:56 UTC 2010
On Thursday 23 September 2010 06:44 pm, Daniel Eischen wrote:
> You shouldn't have to call pthread_mutex_init() on a mutex
> initialized with PTHREAD_MUTEX_INITIALIZER. Our implementation
> should auto initialize the mutex when it is first used; if it
> doesn't, I think that is a bug.
Ah, I see. I verified that libthr does it correctly. However, that's
a hack and it is far from real static allocation although it should
work pretty well in reality, IMHO. More over, it will have a
side-effect, i.e., any destroyed mutex may be resurrected if it is
used again. POSIX seems to say it should return EINVAL when it
happens. :-(
> You _do have_ to lock the mutex before calling a condition
> wait, however. This is a POSIX requirement.
Yes, understood.
Thanks,
Jung-uk Kim
More information about the freebsd-threads
mailing list