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:cc:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=k9BuJgvZR9XnLitJwzxDrInHFTI+0iO0CcdzJCHWKgc4s4v7h86qu UNvwUHYlw/cCo4BdDqDJNC1H/0nWWfDl6opVLTQSA+/x4mv6dZonX7f2ADuDANPF uH7pEe7xULt83DR2cTd8ONPRvr0j8X9QCXsyJ1+eEqqfaj9iVdc4Yo= 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:cc:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=Hpgbn972LBAhmct6A7zsSrDntKA=; b=rcVabWhehp1brwmEm5+0wH6pJpI5 GurHsMXQLjobn0kx0VyUMytDiKM+d113FxW4aBj1NMCFgPJqlMjSUZy9BFqScE5H o/J5OGTgqLkdm6iz0I70P/0wwpk21elVciN559Pmt65CyN8wm+OVuPHgJnCndjCe ty3j10WYqkfoWyM= 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=-100.4 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy= X-HELO: mout.kundenserver.de Date: Fri, 8 Feb 2019 17:50:04 +0100 From: Corinna Vinschen To: Michael Haubenwallner Cc: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.7 Message-ID: <20190208165004.GS13951@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: Michael Haubenwallner , cygwin AT cygwin DOT com References: <20190208113158 DOT GH13951 AT calimero DOT vinschen DOT de> <17e339bb-2115-bf22-7291-04215aab3150 AT ssi-schaefer DOT com> <20190208122126 DOT GM13951 AT calimero DOT vinschen DOT de> <20190208122338 DOT GN13951 AT calimero DOT vinschen DOT de> <20190208130635 DOT GO13951 AT calimero DOT vinschen DOT de> <20190208132807 DOT GP13951 AT calimero DOT vinschen DOT de> <6b182191-b235-fcbb-5b25-66243950043c AT ssi-schaefer DOT com> <20190208144827 DOT GR13951 AT calimero DOT vinschen DOT de> <00970ac8-48e6-9776-e396-5ab78e55e61b AT ssi-schaefer DOT com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="2YJj5f1P6Th4nBRw" Content-Disposition: inline In-Reply-To: <00970ac8-48e6-9776-e396-5ab78e55e61b@ssi-schaefer.com> User-Agent: Mutt/1.10.1 (2018-07-13) --2YJj5f1P6Th4nBRw Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Feb 8 17:17, Michael Haubenwallner wrote: >=20 >=20 > On 2/8/19 3:48 PM, Corinna Vinschen wrote: > > On Feb 8 15:43, Michael Haubenwallner wrote: > >> On 2/8/19 2:28 PM, Corinna Vinschen wrote: > >>> On Feb 8 14:06, Corinna Vinschen wrote: > >>>> On Feb 8 13:52, Michael Haubenwallner wrote: > >>>>> On 2/8/19 1:23 PM, Corinna Vinschen wrote: > >>>>>> On Feb 8 13:21, Corinna Vinschen wrote: > >>>>>>> On Feb 8 12:51, Michael Haubenwallner wrote: > >>>>>>>> > >>>>>>>> For now it seems like there's an inconsistency with PIDs: > >>>>>>>> A first process PID 100, receives PID 101 from spawn(), > >>>>>>>> but in the new process getpid() returns 102: > >>>>>>>> > >>>>>>>> $ ./dospawn /bin/bash -c 'echo $$' > >>>>>>>> 12625 > >>>>>>>> waitpid: pid 12624 status 0x0 > >>>>>>> > >>>>>>> Oh, hmm. If you call spawnve, rather than execve, a new child pid > >>>>>>> is generated in spawnve, rather than just keeping the callers pid. > >>>>>>> > >>>>>>> However, apparently the child invents its own pid in pinfo::thisp= roc > >>>>>>> after being spawned. But actually this should only occur for for= ked > >>>>>>> processes aore processes started from non-Cygwin parents. > >>>>>> > >>>>>> Does that help, by any chance: > >>>>>> [nope] > >>>>> > >>>>> How should the child be informed at all about the new cygpid value = generated in > >>>>> parent's child_info_spawn::worker() ? > >>>> > >>>> I just realized this myself. The old method creating Cygwin pids ju= st > >>>> fetched the pid from GetCurrentProcessId(), which was right for spaw= ned > >>>> (but not execed) processes. For the new pid we might have to give t= his > >>>> to the child via child_info_spawn. > >>> > >>> This works for me, can you test this, too, please? > >> > >> Looks good to me as well, I'm going to start my hours running use case= now. > >=20 > > Sounds good, thanks. I'll push this change now. We can always > > rework it if it's insufficient. >=20 > *** WARNING WARNING WARNING WARNING WARNING *** > *** .../newlib-cygwin/winsup/cygwin/child_info.h: magic number for CHILD_= INFO_MAGIC changed old 0x3ee00652U !=3D new 0xf4531879U > *** WARNING WARNING WARNING WARNING WARNING *** >=20 > Seems like the CHILD_INFO_MAGIC bump is missing for this change, no? Fixed. Thanks, Corinna --=20 Corinna Vinschen Cygwin Maintainer --2YJj5f1P6Th4nBRw Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlxdszsACgkQ9TYGna5E T6De0xAAknIjfPmvQfcUDOYzb14Gn7g9zerqGAe1KL761iWv+irJdinngs1ZfRZ0 xnfOzu5zRBF/wk5mAy473IEeLKaCde4nGvF7al8G7C+lflAx2GOOAnj/tzU4r+qY jW71FUpoGwX2mwjElfXYyA4tpSUIrchgo2gUXjCrUGCzu6XLSlNm/uqSzfzAANQl gKFriZU0V/SWQhioZy8k9EbsrPVtB5Xfv+c9RhT2nbzr8TSG8n1zJBEZ8/+DJAEs zG7GnxYOsI7HAyGVFASOhHOyWIH/7A0Dva/SHk+SxiVKBxYRTQTryvvcheO9mrjK 8hLxBgXVPtLMKbf3qb4t7Q/jJHhE/gagFkkpopvgzyxm288VBvBwPyht9mjuxNT5 ZMTeOjs2YV0koRIgIRLq3nVoY+zMn6W5a7oWgkdp0/3nY2+1Y2mOjbzixdL/H6Hx kVq9b5B1N8DIqf0z6CkE6UmfRKp0MURfaLDn5cwpEqMGSR0UqNuJjK9Hwey+vrve s+B13g4Qtkejj6KmGM08WKY5/6Rbb08vrba20ZUCmas63jMlt/3LjHKSD0SfkMmg uwW4FJ3Oglcs92C23oicn6mj7D/qhQ3NJQpMen4YQIvpVbU/hFNN9tCDrfCNyw8Z JYrWHSQtHQEhdJP3nhKl3UM3xe0kZTwqGxcxqRd+qiFl72Zl5qE= =+bFX -----END PGP SIGNATURE----- --2YJj5f1P6Th4nBRw--