delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/05/17/03:39:30

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0AB603857815
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1652773169;
bh=vxR852nlBQWKqVw9ndyK+dH+cCrcfz+jqaF/umZgD24=;
h=Date:From:To:Subject:References:In-Reply-To:List-Id:
List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
Reply-To:From;
b=orzPLTJJl/xB8bW1mNYB5tg7Mz5otQoWnHU/GpMOf2Pgw8HZLsjk/7avHWnQ2/6YA
FwanwFUqI4h7qp+lnMHnmiZxjIPU2/ffS06X7zGwOPYfNwXAS+AfTvlifmAHflEkYH
Ri6ib6cw2crwIeXjVLBR8hqhunqvEtvEq8lzXNg4=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BC84F3858C51
Authentication-Results: sourceware.org;
dmarc=fail (p=none dis=none) header.from=cygwin.com
Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com
Date: Tue, 17 May 2022 09:38:51 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: ps | cat broken in newlib-cygwin git head (master)
Message-ID: <YoNRCx0CiZgbQdY0@calimero.vinschen.de>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20220517043712 DOT c3208bf70ad0d338a562aaf6 AT nifty DOT ne DOT jp>
<20220517121724 DOT d801487688110f34f2e5d764 AT nifty DOT ne DOT jp>
MIME-Version: 1.0
In-Reply-To: <20220517121724.d801487688110f34f2e5d764@nifty.ne.jp>
X-Provags-ID: V03:K1:JnMpsqqEU/KjDxw+0hRV+PZKYE6UoUAFlpgv4Bveg+T8u4643l8
i0TsTlyfXtoMav+NoQOBzJqE68ROkhTx77jLRrqvJ/pdpyg0bp3xJcxGZEZhERWwzkbadxe
VXW0oKLyc+Ws/KDD+O94T3bKwXx4Il31A2Vk92obNbwvpHSgNZmEoFeX3A2BcSKefmLcnVr
E97O4Sfetfseveo7IS6Yw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:yFlqJIsJfco=:oIbFl4wyFw8dhGZC6WcACw
gnfcxYrbNpuFccSZvwG8IVDjkcXwdh4B5YLYaaaIW1mUWkpF4d3posbPClVwQqEvgO+KDLfXU
hecbEQ02+U9tJ9bnhrDlOE6MYdxz7jg4GaXNVcZiJ12yisQ95G5+DlD9laKSU3aVE08WDtwLy
3SlMjXPqREvFmwBQ1FKFjRV5WC0mzeQ6jzEavMP/XQilk2USE5Rt8nHZ0srq2dcbWwrRY4aKY
u2KCZPguknMnGylRk2cQJ+gI+4eFkYNVZuwOT6COtKYIbPujqC/l3lFfurFRrxXG+7hvIYN8n
uLGopaJgP6fyP0NXUtf+g3HwJOADnzCszaRp1cVpXuVn5dQh9kUlaXNn9dyEaY7jBcV454j7y
pybrgv2I5q3+NVdxpOpqi2A2xlvlapB360bC+c0pJH1x+tbJYXeZ3IB+49Uyo8GDNO5jlLJhi
iIABz2m5DSNxlZ3TLBGb49UST3+tGLa5cO435q+Dxr84zkB8lQjKxCxiSWevsgb5QsIdCBWd8
y0itB3iTJ4JGT/hANhefOwhNRYUtU4xmmp0nbLbUsL9TLTimjycbyHEp3QFhTnYnfteFMbGv0
8zAWL5VMKNKJrlB/ghWOsQOvhSOqqPhv1aR6XsaY6AikJZZ22fdmQ6nHfprtTptgnPMfcUcEy
sorTYxzoQ9BTbnTRYMqShUgyMCubxCCtvNNc1O+e4au8cYj3HSfwibJhCP9+i07xfZx2w2i6s
RQsxRXbU6Bwp02rj
X-Spam-Status: No, score=-101.3 required=5.0 tests=BAYES_00, GIT_PATCH_0,
GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE,
RCVD_IN_MSPIKE_H2, SPF_FAIL, SPF_HELO_NONE, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

Hi Takashi,

please send this to the newlib ML, ideally as a reply to the patch or
patchset, CCing Matt and Sebastian.


Thanks,
Corinna

On May 17 12:17, Takashi Yano wrote:
> On Tue, 17 May 2022 04:37:12 +0900
> Takashi Yano wrote:
> > I found that "ps | cat" outputs nothing with the current git head (master)
> > of newlib-cygwin. However, just "ps" and "ls | cat" works.
> > 
> > This happens after the commit:
> > 
> > commit 26747c47bc0a1137e02e0377306d721cc3478855
> > Author: Matt Joyce <matthew DOT joyce AT embedded-brains DOT de>
> > Date:   Tue May 3 06:51:22 2022 +0200
> > 
> >     Add stdio_exit_handler()
> > 
> >     Add a dedicated stdio exit handler to avoid using _GLOBAL_REENT in exit().
> > 
> > 
> > Is this the problem of cygwin side? Or newlib?
> > 
> > I also found "stdbuf -o 0 ps | cat" works. It seems that this problem is
> > caused by buffering of stdout.
> 
> I am not sure this is the right thing, however, I found the following
> patch solves the issue. It seems that initializing __stdio_exit_handler
> is missing.
> 
> diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
> index 19952d4e0..e759b5402 100644
> --- a/newlib/libc/stdio/findfp.c
> +++ b/newlib/libc/stdio/findfp.c
> @@ -63,6 +63,8 @@ struct _glue __sglue = {NULL, 3, &_GLOBAL_REENT->__sf[0]};
>  #endif
>  #endif
>  
> +static void stdio_exit_handler (void);
> +
>  #if (defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED))
>  _NOINLINE_STATIC void
>  #else
> @@ -109,6 +111,11 @@ std (FILE *ptr,
>    if (__stextmode (ptr->_file))
>      ptr->_flags |= __SCLE;
>  #endif
> +
> +  if (__stdio_exit_handler == NULL) {
> +    __sinit (_GLOBAL_REENT);
> +    __stdio_exit_handler = stdio_exit_handler;
> +  }
>  }
>  
>  static inline void
> 
> -- 
> Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>
> 
> -- 
> Problem reports:      https://cygwin.com/problems.html
> FAQ:                  https://cygwin.com/faq/
> Documentation:        https://cygwin.com/docs.html
> Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019