On Fri, Aug 27, 2010 at 03:23:07AM +0000, David Xu wrote: [...] Hi David.
While you at libthr... I found implementation of _pthread_mutex_isowned_np(), which makes me wonder: int _pthread_mutex_isowned_np(pthread_mutex_t *mutex) { struct pthread *curthread = _get_curthread(); int ret; if (__predict_false(*mutex == NULL)) { ret = init_static(curthread, mutex); if (__predict_false(ret)) return (ret); } return ((*mutex)->m_owner == curthread); } When init_static() fails, the caller will interpret the answer as 'true', which seems wrong. What does this if statement do exactly? It initializes mutex if it isn't? If so, can't we simply assert that it has to be initialized? -- Pawel Jakub Dawidek http://www.wheelsystems.com p...@freebsd.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am!
pgpcSVQWuhuRW.pgp
Description: PGP signature