Kostik Belousov wrote at 06:57 +0300 on Oct 21, 2006: > On Sat, Oct 21, 2006 at 08:25:00AM +0800, David Xu wrote: > > On Thursday 19 October 2006 18:04, Kostik Belousov wrote: > > > > > > > > The nfs_reply is sleeping with the PCATCH set. The question is why > > > SIGTSTP > > > does not cause msleep to return with EINTR. > > > > I have not been tracking the thread. but if the thread is sleeping with > > PCATCH, the SIGTSTP should cause the process to stop unless the signal > > is masked by sigprocmask or the signal has an action handler been set, > > this is a correct behavior. > > > David, > as I understand the report, the following happens. The nfs mount point with > intr option issued the request and waits for the reply. Some vnode locks are > held while waiting. Code needs to catch the signals to abort the operation > on user request. It uses msleep with PCATCH. The thread in question has > td_locks > 0. > > The SIGTSTP is delivered, and thread is stopped, while holding vnode lock. > How this situation shall be handled ? Namely, how to sleep while having the > ability to safely clean up on attempt of stopping ? Masking SIGTSTP is not > the option, due to SIGSTOP having the same results and not being blockable. > > [Would it be right to stop the threads only on returning from kernel to user > mode ?]
David, here's the original report. http://lists.freebsd.org/pipermail/freebsd-stable/2006-October/029755.html Indeed, as Kostik surmised, the mount point is mounted intr. I did not notice this problem while running with releng_6 from late June for 3 months. Could it be this problem was introduced between then and now? This also just happened today on a system I just updated from 5.3 to 5.5-p8. _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"