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=D+yZhWFuzNqjCubZOVlsTJZgSLJAhJK60yQsA8t9PgnN++4zwEvby eVa9rYAHtQz3iyEMZZc1xXQVvXssBDiqzT0EAb6uVkDH6XzvjKCnzdZVaVnfc2h2 aZzFH6v8Pbn7NoUKAPyrOfT6yw6PMr2ny646toxPcfubbXo8Yu7TVA= 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=1XinnKpdZK8o2/0RpUkoCt8PV0Y=; b=qMbHLslcJxGPwodzqdfekYP4FD8w W38AVLodIOfVJj7fwfdiqXwuAy0JNGkGAbtdk2irHsglobV9YpeWbaewgds9DiMR 5gVOqm8IcmBffb6c5QWdmr/iiMjnB/xG8hCNkARAVCTPiF4OjcZF9Do9ZoPI8sx/ /eobwqfro4VUBJ8= 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-Virus-Found: No X-Spam-SWARE-Status: No, score=-101.9 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=provisions, Wolff, wolff, msg00623.html X-HELO: drew.franken.de Date: Mon, 22 Jan 2018 12:49:25 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: fast/native fork? Message-ID: <20180122114925.GT18814@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="TdMwOTenGjBWB1uY" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) --TdMwOTenGjBWB1uY Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Jan 21 12:50, Thomas Wolff wrote: > Am 21.01.2018 um 11:56 schrieb Marco Atzeri: > > On 21/01/2018 16:32, Jay K wrote: > > >=20 > > > I have some desire to discuss fork. > > > I know it is an old and difficult topic. > > >=20 > > > I found this: > > >=20 > > > =C2=A0=C2=A0"Cygwin fork and RtlCloneUserProcess" > > > =C2=A0=C2=A0https://social.msdn.microsoft.com/Forums/windowsdesktop/e= n-US/afdf1b68-1f3e-47f5-94cf-51e397afe073/cygwin-fork-and-rtlcloneuserproce= ss?forum=3Dwindowsgeneraldevelopmentissues > > >=20 > > > NT has had fork since v1. > > > The Posix subsystem used it. > >=20 > > If you look at the several Corinna's tentatives of having any info > > on the Microsoft forum the problem is the lack of official documentation > > of the details. > >=20 > > Without details no solution can be implemented that is guaranteed > > to work on all existing and hopefully future version of Windows. > >=20 > > Cygwin can only use official external API and not hidden internal one. > There was this mail from Microsoft, offering support in case Windows 10 > would raise console problems with cygwin: > https://cygwin.com/ml/cygwin/2015-04/msg00623.html > While this was particularly about the console, maybe this offer could be > used for a request to provide official documentation of that system call,= so > it could then be used? BTDT. There already was an internal discussion between us Cygwin devs and Microsoft devs back in 2012 to handle various aspects of a POSIX fork implementation(*), which was fairly detailed. This was triggered by Windows 8 previews breaking fork on Cygwin due to a change in ASLR behaviour. We also asked for some minor provisions in the official Win32 API(**) but the discussion petered out during the Windows 8 release with no further reply from the Microsoft side. Corinna (*) E.g., when using RtlCloneUserProcess everything done on the kernel/ntdll level appears to work (reading/writing to file handles, shared memory is available, etc), but simple higher-level stuff like Windows console handles become non-functional. (**) E.g., telling CreateProcess that, right now, we don't want ASLR, regardless of the executables dynamicbase flag, or allowing the parent to tell the created child exactly where to load DLLs. --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --TdMwOTenGjBWB1uY Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlplz8QACgkQ9TYGna5E T6BtdA//RUdBb9r1awS0dc+2S/UAmZmXOh/eK2rv/5fRnvHyEJJh0iQc2NdNtKvO K/ybbs7aNmUqGbJn/rYnxcoxrJc1qzaXYcxNMN11Ub2ggu1a8MahsAx8qJgaRTj/ GUDebryTcI9V4T1hjRoLd/vH4dlY/+8QnvqFZluel6o+D6OSV/Ws10dNB/r+eJHE b5ZIR27XHU2WRorHg4ZcSF7dWtn9rfAU9a0Tnid7E3Gtk+kSQZeEAtm7YErckv3v Cm9dns+JaKr0nS24ovaIW2gi7qxk6N5c6fubV+AD5dA9M2MbO5GUeHkPnFqvjzbx MKmYojdYxqbXGvqhpV8OoZ6uXoGMEknVD+u+BfzpzptQF8zKnymXz8y7xTWQTgAp EY2MVRupgFH9gWxMaPotRs6Z2C5UKdOEgCdg5LaJRutXARBkVDvltsbwqoImjFpJ /NXtfG9idWq9KP8mjnEX2UIF460NJpVy6NbBwQcvLk04f7WDKEpub5Js7oSJjP9C wQu78Hh6hCAenvbAFVKpG7n9y1PkAzWZaazJ/8fNtRtYE3EG15EwFtOiaFKmFqMC RpmBDW3oAL+JYgIign/e9Fn5yH4zab4VNyDH/hY59KOjyAv/sQKzQgklMvLSLd2b G0Q3aciyModyou+CjBD/JyLLQZaTy+4kMRTcNtUMAmJZ4Y4qqBM= =zkNz -----END PGP SIGNATURE----- --TdMwOTenGjBWB1uY--