svn commit: r301136 - head/lib/libthr/thread
Conrad E. Meyer
cem at FreeBSD.org
Wed Jun 1 16:12:28 UTC 2016
Author: cem
Date: Wed Jun 1 16:12:26 2016
New Revision: 301136
URL: https://svnweb.freebsd.org/changeset/base/301136
Log:
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
Modified:
head/lib/libthr/thread/thr_cond.c
head/lib/libthr/thread/thr_exit.c
head/lib/libthr/thread/thr_mutex.c
Modified: head/lib/libthr/thread/thr_cond.c
==============================================================================
--- head/lib/libthr/thread/thr_cond.c Wed Jun 1 16:11:09 2016 (r301135)
+++ head/lib/libthr/thread/thr_cond.c Wed Jun 1 16:12:26 2016 (r301136)
@@ -258,7 +258,7 @@ cond_wait_user(struct pthread_cond *cvp,
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);
Modified: head/lib/libthr/thread/thr_exit.c
==============================================================================
--- head/lib/libthr/thread/thr_exit.c Wed Jun 1 16:11:09 2016 (r301135)
+++ head/lib/libthr/thread/thr_exit.c Wed Jun 1 16:12:26 2016 (r301136)
@@ -209,13 +209,10 @@ _pthread_exit_mask(void *status, sigset_
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
Modified: head/lib/libthr/thread/thr_mutex.c
==============================================================================
--- head/lib/libthr/thread/thr_mutex.c Wed Jun 1 16:11:09 2016 (r301135)
+++ head/lib/libthr/thread/thr_mutex.c Wed Jun 1 16:12:26 2016 (r301136)
@@ -135,13 +135,9 @@ mutex_assert_is_owned(struct pthread_mut
{
#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 *c
#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
}
More information about the svn-src-all
mailing list