DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5ALGloo33905099 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 5ALGloo33905099 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=kRyn/Ckr X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18D7E3851176 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1763743669; bh=l4ouGMWIALEDifPTFWjga4cSZFzMFcRbWd7oeD8AI1M=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=kRyn/Ckr9zqn3jrhSkpdn91+sjFCP9MsH4ioWkTIg0nnX7qpsOzgJv4ATdtGyLTqo HiYLjQvv2UgG+KO6oqAm4l7NP5rd+m+bkS44LniwjKss8SnafOABIpJQDJ0girasuX AWpmh0lncnbxqorTou+PS210Z5KZkgJFgp1JVbNA= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2607D3851169 Date: Fri, 21 Nov 2025 17:46:42 +0100 To: cygwin AT cygwin DOT com Subject: Re: dynamic conpty loading Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <30deef29-ba20-49d9-9b38-28020941b0ef AT towo DOT net> <707f4d4c-a20d-4f1d-bdbd-65a2392dea15 AT towo DOT net> <20251121190433 DOT 4a37dc959848a0aea89a8922 AT nifty DOT ne DOT jp> <62f3c1ae-1fd9-477d-a837-d865094dab06 AT towo DOT net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <62f3c1ae-1fd9-477d-a837-d865094dab06@towo.net> 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: Corinna Vinschen via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Corinna Vinschen 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" Hi Thomas, On Nov 21 16:46, Thomas Wolff via Cygwin wrote: > Am 21.11.2025 um 11:04 schrieb Takashi Yano via Cygwin: > > On Sun, 5 Oct 2025 10:15:55 +0200 > > Thomas Wolff wrote: > > > > > The procedure seems to be: > > > > > try LoadLibrary("conpty.dll"), (if not successful, fallback to > > > > > GetModuleHandle("kernel32") instead) to retrieve GetProcAddress for > > > > > CreatePseudoConsole, ResizePseudoConsole, ClosePseudoConsole, and > > > > > then somehow (?) use those while calling CreateProcess. > > > > > The latter is woven into the cygwin library and I don't think it's a > > > > > good idea to clone that out of cygwin for a patched process creation > > > > > in mintty. > > > > > > > > > > My question/suggestion: > > > > > Can a cygwin mode switch to a selected conpty library instead of the > > > > > default one please? Where do you expect this conpty.dll to reside? If we do something like that, I would suggest to make sure that this conpty.dll is in a well-defined place. /bin or /lib might be a good idea. And if it exists in this defined place, it will be used by Cygwin. We can tweak the autoload mechanism to allow a primary DLL and a fallback DLL, that drops the need to set the CYWIN env var. The mintty package could contain a post-install script, or some other script in /bin to allow a user with admin rights downloading the latest (or the most sensible) conpty.dll from MSFT. Would that make sense? Corinna -- 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