From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.ispras.ru (mail.ispras.ru [83.149.199.84]) by sourceware.org (Postfix) with ESMTPS id 0A2303858C50 for ; Mon, 2 May 2022 19:37:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0A2303858C50 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=ispras.ru Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ispras.ru Received: from mail.ispras.ru (unknown [83.149.199.84]) by mail.ispras.ru (Postfix) with ESMTPSA id DB6E440D403D; Mon, 2 May 2022 19:37:22 +0000 (UTC) MIME-Version: 1.0 Date: Mon, 02 May 2022 22:37:22 +0300 From: Alexey Izbyshev To: Florian Weimer Cc: Adhemerval Zanella , libc-alpha@sourceware.org Subject: Re: [PATCH] linux: Fallback to fork and exec for clone fail on posix_spawn (BZ#29115) In-Reply-To: <87mtfz4trm.fsf@oldenburg.str.redhat.com> References: <20220502180605.1510951-1-adhemerval.zanella@linaro.org> <87mtfz4trm.fsf@oldenburg.str.redhat.com> User-Agent: Roundcube Webmail/1.4.4 Message-ID: <5739112746b83188ae7acf1c8be330a0@ispras.ru> X-Sender: izbyshev@ispras.ru Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 May 2022 19:37:25 -0000 On 2022-05-02 22:30, Florian Weimer wrote: > * Alexey Izbyshev: > >>> + while (__write_nocancel (args->pipe[1], &ret, sizeof (ret)) < >>> 0); >> >> If the parent is killed, write() will fail with EPIPE, so this loop >> will become infinite. Maybe check for EPIPE and break? > > I think we also need to do something to avoid invoking a signal handler > for SIGPIPE here. > All signal handlers are reset in the beginning of __spawni_child(). Alexey