Date: Mon, 06 Aug 2012 13:10:25 +0000 From: rudot@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r240135 - soc2012/rudot/sys/kern Message-ID: <20120806131025.B94EF106564A@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rudot Date: Mon Aug 6 13:10:25 2012 New Revision: 240135 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=240135 Log: delivery of signals wakes racct-sleeping thread Modified: soc2012/rudot/sys/kern/subr_trap.c Modified: soc2012/rudot/sys/kern/subr_trap.c ============================================================================== --- soc2012/rudot/sys/kern/subr_trap.c Mon Aug 6 13:08:19 2012 (r240134) +++ soc2012/rudot/sys/kern/subr_trap.c Mon Aug 6 13:10:25 2012 (r240135) @@ -103,6 +103,9 @@ userret(struct thread *td, struct trapframe *frame) { struct proc *p = td->td_proc; +#ifdef RACCT + int sig; +#endif CTR3(KTR_SYSC, "userret: thread %p (pid %d, %s)", td, p->p_pid, td->td_name); @@ -154,7 +157,10 @@ #ifdef RACCT mtx_lock(&racct_lock); while (racct_proc_disabled(p)) { - msleep(p->p_racct, &racct_lock, 0, "racct", 0); + sig = msleep(p->p_racct, &racct_lock, PCATCH | PBDRY, "racct", + hz); + if ((sig == EINTR) || (sig == ERESTART)) + break; } mtx_unlock(&racct_lock); #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120806131025.B94EF106564A>