X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E6442385843E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1706985293; bh=U3ce0rVkoiofPmkfxu+mnY3fmpxu9qKVIcSRa8ZWJ9E=; h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=cJaS+jaNuWoWrsI9/e/9WWkvXEkOeU3aIL6+bZ4bk3tUZNv4rNUs60BtLrFmI+HDN IHbdz5qNtXnS8Q7BGec3aHBCGzJFEzCn5+pLXRzwz/BGmMCooyPk2W/kSOiPMcg7gy lvB8LOeQfsDXiv6ug+ubyrMsHCEWTPJ8ZYj3OzRU= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 429993858403 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 429993858403 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706985275; cv=none; b=cuaU6eyk9l6MKfZKLQTRY2GBxrtAjB0PXMLf18++9B1Ct6cMle9r/VGeJovd8cJrrC4v/FEKyftvBbfL0tpR3+eFAlRBooRYMf1rtlFfTcV8glPjLDczDBtF69NTEESK0BPrLy1PFZemk7ELccI16hK4ztD8hcPp7WBiuznbSTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706985275; c=relaxed/simple; bh=aGJJ8gEiBFy8bltoLMhl0VuC6f4C2PzzKxupOP4kKhw=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=hTt0q+pTApTYNegRB21RLb87CeMOCW7j3by4pk0yBn+pLos4UgGO/WFOmEHRqEtwhxOWxmNCtVEqKqoX1WZu/SR1oeiReG1QoY1/YgPefGxtADN6t0LTwF1mElYCuKR0CyFXjDlWx7UtTgwfpYSCjo2XY34yC4/m6JTqHe6P9Ms= ARC-Authentication-Results: i=1; server2.sourceware.org Date: Sat, 3 Feb 2024 10:34:33 -0800 (PST) X-X-Sender: jeremyd AT resin DOT csoft DOT net To: cygwin AT cygwin DOT com Subject: Re: Restore SEM_FAILCRITICALERRORS [was: Aren't Windows System Error popups meant to be disabled in Cygwin?] In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (BSO 202 2017-01-01) MIME-Version: 1.0 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_PASS, SPF_PASS, 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.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jeremy Drake via Cygwin Reply-To: Jeremy Drake Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Fri, 2 Feb 2024, Corinna Vinschen wrote: > On Feb 2 09:43, David Allsopp via Cygwin wrote: > > However, this patch came from MSYS2, and subsequently they seem to > > have found it problematic for the same reason as me > > (https://github.com/msys2/msys2-runtime/pull/18#issuecomment-810897624) > > and have just recently reintroduced the flag > > (https://github.com/msys2/msys2-runtime/commit/7616b8a2e0ffcf068b47e1a66bbb1dbd7d9b5c50) > > to control it. > > > > The reasoning in > > https://cygwin.com/pipermail/cygwin/2006-August/150081.html seems as > > valid now as it did in 2006. > > > > Is it possible to revisit having the flag, or even just reverting the behaviour? > > > > I'm sympathetic, and personally I would prefer to revert the patch and > stick to SEM_FAILCRITICALERRORS by default. > > The question is this: Why does, apparently, everybody expect Cygwin to > do the "right thing", with different definitions of "right", when in > fact the executable in question can easily call SetErrorMode by itself? The different definitions of "right" is the reason the flag/option was re-added in MSYS2. I think the most "right" thing Cygwin could do (if it were to only do one thing, rather than having an option) would be to somehow have native processes inherit the error mode as though Cygwin were not in the mix. The issue with that, as you've seen, is that there are any number of Cygwin processes in the hierarchy. As far as the executable being able to call SetErrorMode itself, that would be OK except for when the error is coming from the loader, before anything from the executable is run (such as for missing DLL or missing export from DLL). I do like the idea of a native Windows program like "nohup" that sets the error mode and then runs a subprocess. Why doesn't Windows come with something like that? ;) -- 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