libthr: Use formatted PANIC()

No functional change, although _thread_printf() may be slightly less functional
or render some values differently from libc snprintf(3).  No ABI change.

Reviewed by:	kib
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D6672
This commit is contained in:
cem 2016-06-01 16:12:26 +00:00
parent 51037ae517
commit 6a53a3dd42
3 changed files with 10 additions and 24 deletions

View File

@ -258,7 +258,7 @@ cond_wait_user(struct pthread_cond *cvp, struct pthread_mutex *mp,
curthread = _get_curthread();
if (curthread->wchan != NULL)
PANIC("thread was already on queue.");
PANIC("thread %p was already on queue.", curthread);
if (cancel)
_thr_testcancel(curthread);

View File

@ -209,13 +209,10 @@ _pthread_exit_mask(void *status, sigset_t *mask)
struct pthread *curthread = _get_curthread();
/* Check if this thread is already in the process of exiting: */
if (curthread->cancelling) {
char msg[128];
snprintf(msg, sizeof(msg), "Thread %p has called "
if (curthread->cancelling)
PANIC("Thread %p has called "
"pthread_exit() from a destructor. POSIX 1003.1 "
"1996 s16.2.5.2 does not allow this!", curthread);
PANIC(msg);
}
/* Flag this thread as exiting. */
curthread->cancelling = 1;
@ -312,7 +309,7 @@ exit_thread(void)
#if defined(_PTHREADS_INVARIANTS)
if (THR_IN_CRITICAL(curthread))
PANIC("thread exits with resources held!");
PANIC("thread %p exits with resources held!", curthread);
#endif
/*
* Kernel will do wakeup at the address, so joiner thread

View File

@ -135,13 +135,9 @@ mutex_assert_is_owned(struct pthread_mutex *m __unused)
{
#if defined(_PTHREADS_INVARIANTS)
if (__predict_false(m->m_qe.tqe_prev == NULL)) {
char msg[128];
snprintf(msg, sizeof(msg),
"mutex %p own %#x is not on list %p %p",
if (__predict_false(m->m_qe.tqe_prev == NULL))
PANIC("mutex %p own %#x is not on list %p %p",
m, m->m_lock.m_owner, m->m_qe.tqe_prev, m->m_qe.tqe_next);
PANIC(msg);
}
#endif
}
@ -152,27 +148,20 @@ mutex_assert_not_owned(struct pthread *curthread __unused,
#if defined(_PTHREADS_INVARIANTS)
if (__predict_false(m->m_qe.tqe_prev != NULL ||
m->m_qe.tqe_next != NULL)) {
char msg[128];
snprintf(msg, sizeof(msg),
"mutex %p own %#x is on list %p %p",
m->m_qe.tqe_next != NULL))
PANIC("mutex %p own %#x is on list %p %p",
m, m->m_lock.m_owner, m->m_qe.tqe_prev, m->m_qe.tqe_next);
PANIC(msg);
}
if (__predict_false(is_robust_mutex(m) &&
(m->m_lock.m_rb_lnk != 0 || m->m_rb_prev != NULL ||
(is_pshared_mutex(m) && curthread->robust_list ==
(uintptr_t)&m->m_lock) ||
(!is_pshared_mutex(m) && curthread->priv_robust_list ==
(uintptr_t)&m->m_lock)))) {
char msg[128];
snprintf(msg, sizeof(msg),
(uintptr_t)&m->m_lock))))
PANIC(
"mutex %p own %#x is on robust linkage %p %p head %p phead %p",
m, m->m_lock.m_owner, (void *)m->m_lock.m_rb_lnk,
m->m_rb_prev, (void *)curthread->robust_list,
(void *)curthread->priv_robust_list);
PANIC(msg);
}
#endif
}