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 25008 invoked from network); 11 Dec 2022 18:36:24 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 11 Dec 2022 18:36:24 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670783784; b=YUxK/gP25q2mkijOIpv2M8bfSUrOp/15ux8aj2FrLi/wuiPauZWiqxisSJYx5hk6/sd4l0o27K zk+EMJBtniKNHEaVOzraHNJTJkh6QVYu2nGrW2j1IhiqOVs8Svy/ANt/TG+O9blotCqobyE1mn bLnMiKWrkuvJKEM6xGnBU/zILTuOuc9IxhWY3bv0JyzauBDFcigs8irvSZpAcZ18tzUnlnLB6D zavvJbK++MYGY88ozHc2UtxP3QW7aAu7ZbZEBzaT3DNh11GLsFe5HFbDEg1G5E1IOKXKgQpVe+ xJBsb0hj82GWmXRYyhdscgAXnsLkLoZDc/9Sb/re3v7ntQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1670783784; bh=sxWQa9ueFE4IIH5kZrvaZARQOs9jGA+xoEgbzhMOpCk=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:DKIM-Signature; b=EIsQnDCnV2oLETrblm7BynZ90HvvH2Y/tGzbFp71akJ7PnxrNASJgzXukRr4acds6mSSxTQb0s +H+jy0LTZbU6A5Xj2393G2xiSIk2vkRiDfw8cqm274zThrWjD6i4NUawrjKPQOEhHeMq2jAZWc JNBnKmjm56/Odpc5KxiiYE2UmWkuNDZnMtDCobqPgrPDWxu9UlIKPB6HxaJmSbf67oKgvMsn+c /crhbKwTYGDo1S6URC8NFgM23Nifmes9aRZO/Qg8FKLPSdSkNkurIOSUqOHtgWLtK6S5pmYHZe Rut9jYl+xaaFUVA3bj0ZlZUC3L85ARNzSC4BRuidiq7A/A==; 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:In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=3kwQ3UlkqMdkC2MKsch/ouTdw7mp78QO4Q6+u1ILsRw=; b=pLrWweop4uwXoxRb8mV6zFzy9N OtKrdnewVa3sdgy96HRn6XLkVfyv8kJuVa+Nk6Tg5yVnz4UmiJz0SieKxpz+fM0GX5xt5aBOYSOsg 57oTPe+smctxJi4TNet1vakysrZm95agziRb0VYed5Ge76/WZTGs/rXZyHkFUNrw8qcVUugs7E9sO nAMT5C3RWZJyGYDH1DjYtyqyTQyrx0mKbGC9e6cu7h6pXNLcsPE9HR+LSDZikrrQuyVbHJ9qrVq9w ACJkMsms3yINluoFXj98abmluMQAkkxywibJujsGI4xFLGYCqdE41pZAcIJkBnEWqPTbmbn5V4zJO 5opByjUg==; Received: by zero.zsh.org with local id 1p4RBY-0001uR-1p; Sun, 11 Dec 2022 18:36:24 +0000 Authentication-Results: zsh.org; iprev=pass (relay5-d.mail.gandi.net) smtp.remote-ip=217.70.183.197; dmarc=none header.from=chazelas.org; arc=none Received: from relay5-d.mail.gandi.net ([217.70.183.197]:52211) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1p4RAy-0001bo-Fy; Sun, 11 Dec 2022 18:35:48 +0000 Received: (Authenticated sender: stephane@chazelas.org) by mail.gandi.net (Postfix) with ESMTPSA id 9775F1C0005; Sun, 11 Dec 2022 18:35:47 +0000 (UTC) Date: Sun, 11 Dec 2022 18:35:46 +0000 From: Stephane Chazelas To: Daniel Shahaf Cc: zsh-workers@zsh.org Subject: Re: xtrace output sets ERRNO to 9 (EBADF) Message-ID: <20221211183546.ogwicuctgxbtit6w@chazelas.org> Mail-Followup-To: Daniel Shahaf , zsh-workers@zsh.org References: <20221209141047.oyv3jsdvo5s3z6m6@chazelas.org> <20221210113813.GX27622@tarpaulin.shahaf.local2> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221210113813.GX27622@tarpaulin.shahaf.local2> X-Seq: 51187 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: 2022-12-10 11:38:13 +0000, Daniel Shahaf: > Bart Schaefer wrote on Fri, Dec 09, 2022 at 18:57:37 -0800: > > diff --git a/Src/exec.c b/Src/exec.c > > index 1810fca5e..a1059af5e 100644 > > --- a/Src/exec.c > > +++ b/Src/exec.c > > @@ -4336,10 +4336,13 @@ execcmd_exec(Estate state, Execcmd_params eparams, > > } > > } > > if (newxtrerr) { > > + int eno = errno; > > fil = fileno(newxtrerr); > > fclose(newxtrerr); > > xtrerr = oxtrerr; > > + /* Call zclose() to clean up internal tables, ignore EBADF */ > > zclose(fil); > > + errno = eno; > > This ignores any errors from the fileno() and fclose() calls as well, though? [...] Yes, though it's probably just as well. Users use $ERRNO to detect errors while doing operations they asked for. In my case, I was doing: ERRNO=0 files=(**/someglob(N)) if (( ERRNO )) ... To check for errors during the glob expansion (wanting to make sure that it doesn't missing anythin). And finding that that glob expansion seemingly failed with EBADF when run under zsh -x. -- Stephane