From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4279 invoked from network); 22 Oct 2022 23:23:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 22 Oct 2022 23:23:02 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1666480982; b=iq6+K+kYvdcOHc8FyPBDfvr3kPWf1Vs2sMiNdVOQAXzyhCgiqDYYgCG6RsBsoukD3vxrPR69Ks Crrpo5gVB7jDxKMqsRsAjcq3N3EsU7m3qv7ffgTw1jg7V/jBrGFPxpPLf6H0V/Pzw8Y7kK12g8 Tb0ofaUJTGBwYg2MeIwXnuHThcIxD2RAo9OvWN/FMxHVTiAclZnymcnJmZkj6SmWW2fOYULSOE mn/+SgTUtS7k//QVMCj3BMQ8BixxkL1XqOJ8dDnMt9QWnpAkUwBx2Fd8zaHyCi3juDu0hMAtzo aaVqaKKDR61ZmLG+dgJLzm9OyMVnH4ygF/K4c6+Wl4/47A==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ed1-f46.google.com) smtp.remote-ip=209.85.208.46; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1666480982; bh=Vv6PkTPPh6skBSgYpQGFxXK3bM0CU8iPb2rTlSGkE6s=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=da0JifOLdRd7WebC/BPP4gPx8o+PVCXm30/kyIZK3JnsbryGSp9zO65G0vFEAMMAb/PXXn/N/p IGfEzN6CRliU+JkPXIw7TssA/Tm3vLkgzWsniKsyGoZ663Dv9kwQouFuh29bIpwxdYASRvYX9u ZzfxO7v29BSqKXqYxujaFV9LQWJg/e0ZXvbeXUPSVaEDuzYSrk9dp68Soc4xacZkFtX6TVOCY2 DE8NUPGh6wxLUYlaO6hLHPkA9xB1SzW/FikWBAHLeK8JW8AFeEvJdOHfpnenW+v19d9TsoJ/Ue l3xdna3eMFicpHq9w3CxYRBm+rT3pWe0YXP9wyjJDZASiw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=xttUTJCDY+g+NDtaaJkxUNhkG26gyoZp3Zqo5kRYfME=; b=Ydc+pmAT9g1X+YJhPKVtZ0KNpX 0zwgrwHjIw43hh9vyXdXLAUZH5asd6dsNWfNWlRyyiQFINaD8qEV2od42ANfPHJb6DvmEb2/7fFdf WnG712BWzEmlGys8cOmZ3JLsQ/lejwPwQcrTfVfhBNFaGTm4E52lUsWSkBpuZb5mWMG8yv39HhMBY IaoZcRBkmQbKtL1Z0ac+G803utd0pJ/P1Op5kpW/8PLquS/wybjPc8npMJfEW5QvmwtC5MVKROAy+ IkeRxcLuxhnVdjYWBQ+SW799mO2jhxb6PD3/1JRKOXINrX23RQCiX2alkTXQEZuYRUgvlTXlrFq8I xQHsl1oQ==; Received: by zero.zsh.org with local id 1omNpV-000MSO-0k; Sat, 22 Oct 2022 23:23:01 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ed1-f46.google.com) smtp.remote-ip=209.85.208.46; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ed1-f46.google.com ([209.85.208.46]:34315) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1omNoq-000M5Y-1U; Sat, 22 Oct 2022 23:22:21 +0000 Received: by mail-ed1-f46.google.com with SMTP id w8so16430460edc.1 for ; Sat, 22 Oct 2022 16:22:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xttUTJCDY+g+NDtaaJkxUNhkG26gyoZp3Zqo5kRYfME=; b=ON7OQPSbTq/cYy9lOHTvBx7+ZY7F66UQv1M3qGVHJiKYLCJ0Y4DVSMpb61kFKHyg5n mxNpf6NTsnIaBR2iOMZw2LfYlYhS8juVvaXfW4wBRnBppSNMzeLpnSwuNjppJfzhgeES AZTWUugvXsJdhuYvUCh02LSiU2EpEvz4tPoomC2VgfIMB+G8gdqR/4RD79jNkthSG3bx CwOk+yUg1wjnHm9sM4mn4KLlSml4J2yigSEfhDK9IryQutxHJUHTdXoUs4OqOn4SFGMY Dn88ZgQ1E9c+X5KwNsY+4HNOT8SNAzC4YoFvlBfFalAH8OF27aN45k9aDOsshCCpRrAV +qlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xttUTJCDY+g+NDtaaJkxUNhkG26gyoZp3Zqo5kRYfME=; b=FymW+sC2k1VW5rTBnACn95w3+z4NZomEjZpiRrCVPuIObsXVOM4B4aIi7duuG/I6qA lKm0vF17EysGHhbpT7zgGx7fwAYGQ71/uOdxgNm2G32Gv+qj+63i4kD4B0ylke2crGW/ 0ENExGRaGzEAKOH7goNbqAMIKAFFfS5+71DJ162UIFylB42GMVr6KCj9qnOB/kdkGX1O yG/H6TM+8QQ6sM6RBIFqbsZnXI7B7dhRneSX4fc6AY2SjuahBL4fa6awciYvcmchL+vo ggpsS2rzfqSthI68uNllxD1jmzMJFLpgEEpxpZQBkYAkqKSzG+ZY/SdTJa0pw+KLlZiT Ov8w== X-Gm-Message-State: ACrzQf1KQuVOimgKOYCauEJlZZiZig8nVBQLGJNzLdW17t/XFGoAMoB+ J44LtT6I5I1FORAr60dvMGtY7wtMVWhzL9ZkuMc0Yw== X-Google-Smtp-Source: AMsMyM5CKcyDAczzQhxLecVu4nGlvBb7JO52tmB2vDhI+xQ3aIslcLfCMSDybYqe5cAW090Z3jk9u7w1MUfVs/DCZU4= X-Received: by 2002:a17:907:2cd9:b0:78d:9f4c:9cff with SMTP id hg25-20020a1709072cd900b0078d9f4c9cffmr21423079ejc.345.1666480938989; Sat, 22 Oct 2022 16:22:18 -0700 (PDT) MIME-Version: 1.0 References: <2FE96386-2D04-434F-AD2F-F08356B1AE04@kba.biglobe.ne.jp> In-Reply-To: From: Bart Schaefer Date: Sat, 22 Oct 2022 16:22:07 -0700 Message-ID: Subject: Re: problem with 'ls | less' shell function To: Jun T Cc: zsh-workers@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 50805 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: OK, perhaps we're getting somewhere. Still working with suspend of dir() { ls -lrRt | less } In bin_fg(), line 2564, we attachtty(jobtab[jobtab[job].other].gleader)) which is using the correct PID. We then enter waitjobs() which calls waitonejob() for that PID (so far so good). However, that returns immediately, because at that point the pipeline gets SIGTTOU -- which is confusing, because it should be attached to the tty. In any case, waitjobs() then falls through to waiting for the function subshell, which is the also the right thing. It's a bit hard to follow here because sometimes the "other" field of the jobtab struct is an offset into jobtab, and sometimes its an actual PID, but the parent shell's internal record-keeping seems to be correct. However, it must be the case that something is sending SIGCONT to "less" before the attachtty() has a chance to ... actually change the process group? If I stop at the point where the SIGCONT is sent, and call getprp() from the debugger, the process group still belongs to the parent shell despite the apparently successful call to attachtty().