<table><tr><td style="">davidedmundson accepted this revision.<br />davidedmundson added a comment.<br />This revision is now accepted and ready to land.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D29615">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>Still, I think this behavior is actually the only one usable,</p></blockquote>

<p>Indeed.  A user shouldn't be expected to know what each thread is doing inside an app, there isn't enough metadata to do anything useful there anyway. Especially with use of threadpools.</p>

<p>FWIW,  I've been taking this logic further in the other direction from looking at threads. From 5.19 spawned apps will each have their own cgroup. The intention being to get to a point (5.20 or so) where we can do management on an entire cgroup (and therefore app with multi processes and threads) all at once. The management is way nicer, the UX is nicer, and we won't have this sort of problem.</p>

<hr class="remarkup-hr" />

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>Note: this only changes the behavir for remote computers. Local use needs a similar fix in libksysguard.</p></blockquote>

<p>Yeah, that's the more useful one.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D29615#inline-169855">View Inline</a><span style="color: #4b4d51; font-weight: bold;">ProcessList.c:657</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">goto</span> <span class="n">failure</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span style="color: #74777d">/* NOTE: this is racy; threads may die or be spawned during our</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d">     iteration. Inthat case, we either fail with an error or fail to</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">heh, our use of PID is already racey</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R106 KSysguard</div></div></div><br /><div><strong>BRANCH</strong><div><div>Plasma/5.18</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D29615">https://phabricator.kde.org/D29615</a></div></div><br /><div><strong>To: </strong>jpalecek, ahiemstra, davidedmundson<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>