Since thread_single(SINGLE_ALLPROC) ignores them since 9241ebc796c, and there is not much we can do for the debugger-controlled process. Noted by: olce
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I'm a priori OK with that as a stopgap measure, although I don't really know how still-running processes interact with the suspend/resume mechanism (which problems can this cause? I can imagine a bunch of them, but not sure if they are impacting).
In the longer term, I'd like that we revise the suspension mechanism to register the reason(s) for the suspension(s) and notify all processes/threads requiring the suspension of another. Perhaps this is even not really a requirement to fix the two problems reported in D44523 that lead to the deadlock situation, but I think this would improve confidence in the fact that the machinery works as intended. Although I admit that this may just be a consequence of me still struggling with the signal and suspension mechanisms, I have a growing feeling that it may need a global simplification/re-design. I just can't provide the manpower for all that in the short term, but at least I'll try to stay up-to-date with the changes that you or anybody else may make in these areas.