X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=O87zOXrCFilbtzj8bQM7GbFfB8Iz93Wss709QHVWL8Ya5+HU5nB/0 709m9NHAa4MR8acko0aFsyllzQYfMozYEU5I3U6XIa/a4gGmmKNuGhQaYCm3vsr+ ogHN5ghasBy66+HCjaEHF5OjdejQNn8lF7cASatfa6ptPWhofyskkY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=odwhAEDCMbWYVh+PYu3ghrw0ZSg=; b=wA/4XgqxDZxdP/3pQMnUltm4fAO2 l3ptUKWyziWi9cpgG2vy0vR/9nt3WBFrmgH++dEmTscU3KwTKL/VGywsUUHAaQaC 9PErtnHPZUfNMKeoUlwWBaf+NBmnhEeLWhUag3Nbh+ck/VJaSx5gz5n2pS4Lydjy GynioDujgxI+5oE= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-103.0 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=Individual X-HELO: mout.kundenserver.de Date: Fri, 30 Aug 2019 21:31:49 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] TEST: Cygwin 3.1.0-0.3 Message-ID: <20190830193149.GA4164@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20190830075523 DOT GB27273 AT calimero DOT vinschen DOT de> <20190831032003 DOT d19fb7060c632bb51777c0de AT nifty DOT ne DOT jp> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="h31gzZEtNLTqOjlF" Content-Disposition: inline In-Reply-To: <20190831032003.d19fb7060c632bb51777c0de@nifty.ne.jp> User-Agent: Mutt/1.12.1 (2019-06-15) --h31gzZEtNLTqOjlF Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Aug 31 03:20, Takashi Yano wrote: > On Fri, 30 Aug 2019 09:55:23 +0200 > Corinna Vinschen wrote: > > On Aug 29 22:15, Biswapriyo Nath wrote: > > > On Thursday, August 29, 2019, Corinna Vinschen > > > 1a. In fhandler_pty_mater::ioctl function, shouldn't the function poi= nter > > > be checked before use? Also what the FIXME says, isn't clear. Any hin= t? > >=20 > > Yeah, right. What happens on pre-W10 1809 systems? They probably > > crash on TIOCSWINSZ. See below. >=20 > This code is protected by > if (getPseudoConsole () && ... > that is, pseudo console handle is set only if CreatePseudoConsole() > successes. In pre-W10 1809, since pseudo console handle is not set, > this code is not reached. However, it is better to check before > call as you suggest. >=20 > What is meant in FIXME comment: > ResizePseudoConsole() needs handle to pseudo console. This handle is > valid only in the process which created it. If ioctl(TIOCSWINSZ, ...) > is called from other process, it fails. I had tried DuplicateHandle(), > but it did not work. Therefore, ResizePseudoConsole() is called > only if ioctl() is called from PTY master process. Similarly, > ClosePseudoConsole() can work only in the master process. Ah, that makes sense. > > > 1b. GetModuleHandle and GetProcessHeap is called several times. Would= n't be > > > it easier to get all the pseudo console function pointers in one > > > constructor? > >=20 > > In terms of GetModuleHandle/GetProcAddress the right thing to do is to > > use the autoload feature, i.e., add the functions to autoload.cc like > > this: > >=20 > > LoadDLLfuncEx (ClosePseudoConsole, 4, kernel32, 1) > > LoadDLLfuncEx (CreatePseudoConsole, 20, kernel32, 1) > > LoadDLLfuncEx (ResizePseudoConsole, 8, kernel32, 1) > >=20 > > If the function call returns FALSE with GetLastError() =3D=3D > > ERROR_PROC_NOT_FOUND, then the function is not available. > >=20 > > Takashi, I didn't actually notice the usage of the Windows heap here. > > The usual method is to use a tls_pbuf buffer, and rather than > > using MultiByteToWideChar/WideCharToMultiByte, use sys_mbstowcs/ > > sys_wcstombs. > >=20 > > Also, can you please change the camelback names in class tty_min to > > underscored writing, e.g., term_codepage rather than TermCodePage? >=20 > OK. I will revised the code followed to your advice. >=20 > First, I would like to fix some bugs and will post a patch. > Second, I will revise the coding style. >=20 > May I post them as indivisual patches? That would be great. Individual patches with each of them fixing just a single problem are definitely preferrable over bulk patches. Please send them to the cygwin-patches mailing list. > I also suppose the patch should be against the v9 patch, right? Well, actually they should be against current git master. Incidentally that's your v9 patch ;) Thanks, Corinna --=20 Corinna Vinschen Cygwin Maintainer --h31gzZEtNLTqOjlF Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl1peaUACgkQ9TYGna5E T6B0txAAhPbh9Wsga+Fao0878pgMj8mI9VDxqYZVoJISmzbAf6HjkjAUoOJ2lG0j M3WW0+TtZaw/0DX51/2jOa4FwCQpCzCcqrcRrroGSzzTWfc3EKxfAETRpeNKz0m2 7NQ3jEnVKGEQnR2tU5ioLUATwJaQO+EGBCETdw5u+hLqiCc/61iJoRcULjT+7TRa th1qMNrn6/0wiiK/wPYPqvfvZwt6Ol1wUhPdeiC/R8bEc7jaOmG09uy7YkGJnJCE UHcjad1euMfnFF/LqWJxfYJ45RTwnnKDR4UfGzDXlgBRbQMoX9eJ+lIxYhaJcDZq IGYM64pD5tJ7A/VU+3cMUgIOoeegR9bgbS2HRfDAjbDHBF4SAtchbk6n5rz65nrN QYCGXjj74vR4+jLdZH0xDq9n79HR5AawD96Ca8OT8ZY8gfjVJnpgNKbPzANNovMp DwfY57sO8Ss+h0541m8yJ/QYun5e29ZnZV2rKMsZscM33dYkijRry4LOYsSWML7I SpG0sEAoTJ500pxg5AqJAQj0hjzI1VgNZZsnmhQ8BD3DaN9tMqDGFz7nCWkPakKa X629kISytVE7YMmlUPcJYZcuhHYj8g8TbKtTHxQ/NiWkni3ltE3QUrtiSNKLOJWY s3GbdII8nmrI5EkkJm+lpFYVHvG0+C5LqOsICp6/d/wtCnDQfAQ= =+f1B -----END PGP SIGNATURE----- --h31gzZEtNLTqOjlF--