From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.133]) by sourceware.org (Postfix) with ESMTPS id 99D8A3858D35 for ; Thu, 10 Nov 2022 09:10:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 99D8A3858D35 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1N3bb1-1p2ZdE19z1-010YgI for ; Thu, 10 Nov 2022 10:10:07 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id BE767A8088D; Thu, 10 Nov 2022 10:10:06 +0100 (CET) Date: Thu, 10 Nov 2022 10:10:06 +0100 From: Corinna Vinschen To: cygwin-patches@cygwin.com Subject: Re: [PATCH] Cygwin: Correct /proc/*/stat for processes without ctty Message-ID: Reply-To: cygwin-patches@cygwin.com Mail-Followup-To: cygwin-patches@cygwin.com References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Provags-ID: V03:K1:zrh6VdCwCLS/Gv+g/SE5yRvoxJ+bgIeXynYZX7FNLqP4cBoVNja HoNgZhxWGXowBuZAP/Ld7us21UrMiL9k1JxCT2aviyjLKtXgaqhCVsbJyQjRSTu3F7/kib+ teAxiKTwzY6w0gVw8YTkTIoVjSosNBtETuJRDtDfXUznyTZkH4sxJueiXDjwqZIRocLIVlu QObWzPNDwNBDgmImDuApA== X-UI-Out-Filterresults: notjunk:1;V03:K0:z9CrLQH8myk=:WA0dqa66UCO6T1BEgDKaXc yEXRit2cnJkqDwY4Sg+MTsmGNVDU6JiC8TdUEIWfpcw2Oqkr6SQJR7VpJU9Hde9Z7GnnjkwE8 /1KYA2sp+aKIuMaU4IVrdyubc9vGhjox49Qwx7OcxW+ivTB0Z+VwosNO1OO+Bf89wtgScjqrx xLuYJvUW/aSB38vISS1rkysynk/+1HPhkDtPnwWPoxR78AqGi4sWZQyNgzPzkoUy7f/7A2VfB 2gAXmaMDOjkLLVDHx8FIVsj2bdWlhMUqEBxX1qCA6tMDVdJd/xPxwDNX5ukbqUQJY8HB8Ef+O 4lxwZA2coc3UvnveJNye0eFgIPq63HYHntQl+rPn6cLV8nGju93kw1MN2uQWGqo4lhLzfe1kj ctOyJNrSnLswaDLCbcZ7T7l2Px+bsPrUUDeBLbhVP9kuIqDgpnq6hz/asNCPhE1hBjHm25Jyy qVFw78J8UeYgtYGUD9m1J6RLMTAAByDy0d+nsWXJDTUVMr3r2NT0U2AWXQo6NYgBVaQcsauOW 83RUwQwRyD435s/J3Hd0AARhl5+xMaY5gMPBYg9AxFUgzq57Y0tzgnJDKzN+HLM8eGdYA2FgA TsSecY2Gv2GL61c2/nOdi5qK6aAWSGdmkCCxH3WTDNMBS2l9hOyO0S2j5Ze42L79TLVtZ68YG XIN/lGVnZtaBmYIAJ6ZRaEB0EMs/ovubUh/BOIymW4M1emNVSPs+I2AAQ0EHtnXm6QB/gFOrh r5wqgmcb1LNAtko7VTxUL83+yksOT0+F4RY8D1I/j6JP+LCvI+xkMif22D7ototFwPGw7r2IH aalTWyvAQxRi5dvsxq7s24n1vqtHQ== X-Spam-Status: No, score=-95.9 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_DMARC_NONE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_FAIL,SPF_HELO_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Nov 9 21:36, Andy Koppe wrote: > Hi, > > I had noticed that selecting or excluding processes without a > controlling terminal doesn't work in procps on Cygwin. > > For example, the mintty process shouldn't appear in the following, as > the 'f' (for forest) argument triggers procps's "BSD personality", > where processes without a controlling terminal are supposed to be > excluded by default: > > $ procps f > PID TTY STAT STIME COMMAND > 1809 ? Ss 19:49 /usr/bin/mintty - > 1810 pty0 Ss 19:49 \_ -zsh > 2075 pty0 R 21:14 \_ procps f > > Similarly, this should list the processes without a terminal, but > comes up empty: > > $ procps -t - > > I tracked this down to a difference in the tty field of /proc/*/stat > (which is the 7th field). On Linux, processes without a terminal have > value 0 there, and that's what procps expects. > > Cygwin 3.3 has -1 instead, whereas on master the bits of the tty field > were rearranged in commit 437d0a8f88, which turns the -1 into > 268435455 (i.e. 0xFFFFFFF). Either way, procps treats such processes > as having terminals. (The ? in the TTY column output is generated by a > different code path in procps that uses /proc/*/ctty on Cygwin.) > > Patches for the 3.3 branch and master attached. Pushed in master. We won't do another 3.3, so I skipped it. Thanks, Corinna