From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-03.nifty.com (conssluserg-03.nifty.com [210.131.2.82]) by sourceware.org (Postfix) with ESMTPS id DE7AD3858037 for ; Thu, 11 Nov 2021 13:21:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DE7AD3858037 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp Received: from Express5800-S70 (z221123.dynamic.ppp.asahi-net.or.jp [110.4.221.123]) (authenticated) by conssluserg-03.nifty.com with ESMTP id 1ABDKrx5011042 for ; Thu, 11 Nov 2021 22:20:54 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com 1ABDKrx5011042 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1636636854; bh=rZQ1E09e/nhr+0L4jZphCgJ2EpQFhVzrfK0zI1wJEB4=; h=Date:From:To:Subject:In-Reply-To:References:From; b=oUmIARs3XG4SU8eU/PwQ9qyqdt40118p7ergRD8MUq+9jG+FkJlxp0COkEFZQM44h lIKjQ2sKvL1K5twUEhWtH+SkBRZjUi+FvCF0nDTyHlKsrHlTWnF9Pf70uavA3olaxU EgVf1Z9YkUakv+aqaSleaOmDOIbAe2d4foXq58+QE4j8CAxrk9hQNe7mITxB0CLuvT EQg/HoAEj3PlJQywvZ/iCrLCqZeqi6rSlWxG6QpmF7E2nwmPAKoWq7j3D4de+tnz0u t1KCFsKjvHzSjmGKJrrNB2vtYJy9poLD+7ThnDotrxB1mf86z+PaGhQAFHfGBKWx93 pJgDI2IC2TZNg== X-Nifty-SrcIP: [110.4.221.123] Date: Thu, 11 Nov 2021 22:20:56 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: 3.3.0: Possible regression in cygwin DLL (Win10); fixed in snapshot Message-Id: <20211111222056.c0ed3ac2fec60b6ff0be8085@nifty.ne.jp> In-Reply-To: <20211111210234.6a43a2ba237cef11ecc7016b@nifty.ne.jp> References: <20211106044116.698b465a5d8ed6ce2cc75c99@nifty.ne.jp> <2cfa5de7-3b95-9062-4572-f36d304bc916@cornell.edu> <20211106151047.4d8f626bd6ebe9e4d8017f3b@nifty.ne.jp> <20211110173003.88359e8482ffa8b8be326903@nifty.ne.jp> <20211110223049.b61c6cb87fb3e540b4214bcf@nifty.ne.jp> <20211111201206.72cd688ce6a0d72d3a4f6c5f@nifty.ne.jp> <20211111210234.6a43a2ba237cef11ecc7016b@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Thu__11_Nov_2021_22_20_56_+0900_Knit7o+9aLfnM7T." X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Nov 2021 13:21:16 -0000 This is a multi-part message in MIME format. --Multipart=_Thu__11_Nov_2021_22_20_56_+0900_Knit7o+9aLfnM7T. Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Thu, 11 Nov 2021 21:02:34 +0900 Takashi Yano wrote: > On Thu, 11 Nov 2021 12:33:21 +0100 > Corinna Vinschen wrote: > > On Nov 11 20:12, Takashi Yano wrote: > > > > [FileProcessIdsUsingFileInformation] > > > > > > Thanks for advice. get_query_hdl_per_* is called in the write side, > > > so only knows pipe handle of the write side. We would like to know > > > ProcessId which have pipe handle of the read side. Can we use > > > FileProcessIdsUsingFileInformation for this perpose? > > > > I don't know. I just stumbled over it yesterday and I thought it might > > be something we could utilize. Supposedly it returns PIDs for processes > > having that file open, but how this works for pipe read/write sides > > needs testing. Of course, knowing how Windows functions usually only go > > half the way, the function will either only return the current side of > > the pipe, or even an error code :-/ Never mind, it was just an idea. > > I have tested the behaviour of FileProcessIdsUsingFileInformation > just now. We can use it! I will try to use it in get_query_hdl(). I have tried to utilize FileProcessIdsUsingFileInformation in get_query_hdl_per_process() as the patch attached. It works as expected. I also measured the response of select() using these functions. The first time and second time responses are measured. The second time should be much faster than the first time because search result has been cached. First time, Second time 4.620400 [msec], 0.102300 [msec] << get_query_hdl_per_process() 19.080400 [msec], 0.199000 [msec] << get_query_hdl_per_system() 14.364300 [msec], 0.156800 [msec] << FileProcessIdsUsingFileInformation Unfortunately, FileProcessIdsUsingFileInformation is slower than current get_query_hdl_per_process(). It takes about 3 times longer time. -- Takashi Yano --Multipart=_Thu__11_Nov_2021_22_20_56_+0900_Knit7o+9aLfnM7T. Content-Type: application/octet-stream; name="fpiufi.patch" Content-Disposition: attachment; filename="fpiufi.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYyBiL3dpbnN1cC9jeWd3 aW4vZmhhbmRsZXJfcGlwZS5jYwppbmRleCA5MzkyYTI4YzEuLjgzYzA5ZDdjNiAxMDA2NDQKLS0t IGEvd2luc3VwL2N5Z3dpbi9maGFuZGxlcl9waXBlLmNjCisrKyBiL3dpbnN1cC9jeWd3aW4vZmhh bmRsZXJfcGlwZS5jYwpAQCAtMTIwMSw1MCArMTIwMSwzMiBAQCBmaGFuZGxlcl9waXBlOjpnZXRf cXVlcnlfaGRsX3Blcl9wcm9jZXNzIChXQ0hBUiAqbmFtZSwKICAgTlRTVEFUVVMgc3RhdHVzOwog ICBVTE9ORyBsZW47CiAgIERXT1JEIG5fcHJvY2VzcyA9IDI1NjsKLSAgUFNZU1RFTV9QUk9DRVNT X0lORk9STUFUSU9OIHNwaTsKKyAgRklMRV9QUk9DRVNTX0lEU19VU0lOR19GSUxFX0lORk9STUFU SU9OICpmcGl1Zmk7CiAgIGRvCi0gICAgeyAvKiBFbnVtZXJhdGUgcHJvY2Vzc2VzICovCi0gICAg ICBEV09SRCBuYnl0ZXMgPSBuX3Byb2Nlc3MgKiBzaXplb2YgKFNZU1RFTV9QUk9DRVNTX0lORk9S TUFUSU9OKTsKLSAgICAgIHNwaSA9IChQU1lTVEVNX1BST0NFU1NfSU5GT1JNQVRJT04pIEhlYXBB bGxvYyAoR2V0UHJvY2Vzc0hlYXAgKCksCi0JCQkJCQkgICAgIDAsIG5ieXRlcyk7Ci0gICAgICBp ZiAoIXNwaSkKKyAgICB7IC8qIEVudW1lcmF0ZSBwcm9jZXNzZXMgaGF2aW5nIHRoZSBwaXBlIGhh bmRsZS4gKi8KKyAgICAgIElPX1NUQVRVU19CTE9DSyBpbzsKKyAgICAgIERXT1JEIG5ieXRlcyA9 IG5fcHJvY2VzcyAqIHNpemVvZiAoVUxPTkcpCisJKyBzaXplb2YgKEZJTEVfUFJPQ0VTU19JRFNf VVNJTkdfRklMRV9JTkZPUk1BVElPTik7CisgICAgICBmcGl1ZmkgPSAoRklMRV9QUk9DRVNTX0lE U19VU0lOR19GSUxFX0lORk9STUFUSU9OICopCisJSGVhcEFsbG9jIChHZXRQcm9jZXNzSGVhcCAo KSwgMCwgbmJ5dGVzKTsKKyAgICAgIGlmICghZnBpdWZpKQogCXJldHVybiBOVUxMOwotICAgICAg c3RhdHVzID0gTnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uIChTeXN0ZW1Qcm9jZXNzSW5mb3JtYXRp b24sCi0JCQkJCSBzcGksIG5ieXRlcywgJmxlbik7CisgICAgICBzdGF0dXMgPSBOdFF1ZXJ5SW5m b3JtYXRpb25GaWxlIChnZXRfaGFuZGxlICgpLCAmaW8sIGZwaXVmaSwgbmJ5dGVzLAorCQkJCSAg ICAgICBGaWxlUHJvY2Vzc0lkc1VzaW5nRmlsZUluZm9ybWF0aW9uKTsKICAgICAgIGlmIChOVF9T VUNDRVNTIChzdGF0dXMpKQogCWJyZWFrOwotICAgICAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFw ICgpLCAwLCBzcGkpOworICAgICAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFwICgpLCAwLCBmcGl1 ZmkpOwogICAgICAgbl9wcm9jZXNzICo9IDI7CiAgICAgfQogICB3aGlsZSAobl9wcm9jZXNzIDwg KDFMPDwyMCkgJiYgc3RhdHVzID09IFNUQVRVU19JTkZPX0xFTkdUSF9NSVNNQVRDSCk7CiAgIGlm ICghTlRfU1VDQ0VTUyAoc3RhdHVzKSkKICAgICByZXR1cm4gTlVMTDsKIAotICAvKiBJbiBtb3N0 IGNhc2VzLCBpdCBpcyBmYXN0ZXIgdG8gY2hlY2sgdGhlIHByb2Nlc3NlcyBpbiByZXZlcnNlIG9y ZGVyLgotICAgICBUbyBkbyB0aGlzLCBzdG9yZSBQSURzIGludG8gYW4gYXJyYXkuICovCi0gIERX T1JEICpwcm9jX3BpZHMgPSAoRFdPUkQgKikgSGVhcEFsbG9jIChHZXRQcm9jZXNzSGVhcCAoKSwg MCwKLQkJCQkJICBuX3Byb2Nlc3MgKiBzaXplb2YgKERXT1JEKSk7Ci0gIGlmICghcHJvY19waWRz KQotICAgIHsKLSAgICAgIEhlYXBGcmVlIChHZXRQcm9jZXNzSGVhcCAoKSwgMCwgc3BpKTsKLSAg ICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgUFNZU1RFTV9QUk9DRVNTX0lORk9STUFUSU9OIHAg PSBzcGk7Ci0gIG5fcHJvY2VzcyA9IDA7Ci0gIHdoaWxlICh0cnVlKQotICAgIHsKLSAgICAgIHBy b2NfcGlkc1tuX3Byb2Nlc3MrK10gPSAoRFdPUkQpKGludHB0cl90KSBwLT5VbmlxdWVQcm9jZXNz SWQ7Ci0gICAgICBpZiAoIXAtPk5leHRFbnRyeU9mZnNldCkKLQlicmVhazsKLSAgICAgIHAgPSAo UFNZU1RFTV9QUk9DRVNTX0lORk9STUFUSU9OKSAoKGNoYXIgKikgcCArIHAtPk5leHRFbnRyeU9m ZnNldCk7Ci0gICAgfQotICBIZWFwRnJlZSAoR2V0UHJvY2Vzc0hlYXAgKCksIDAsIHNwaSk7Ci0K LSAgZm9yIChMT05HIGkgPSAoTE9ORykgbl9wcm9jZXNzIC0gMTsgaSA+PSAwOyBpLS0pCisgIGZv ciAoVUxPTkcgaSA9IDA7IGkgPCBmcGl1ZmktPk51bWJlck9mUHJvY2Vzc0lkc0luTGlzdDsgaSsr KQogICAgIHsKICAgICAgIEhBTkRMRSBwcm9jID0gT3BlblByb2Nlc3MgKFBST0NFU1NfRFVQX0hB TkRMRQogCQkJCSB8IFBST0NFU1NfUVVFUllfSU5GT1JNQVRJT04sCi0JCQkJIDAsIHByb2NfcGlk c1tpXSk7CisJCQkJIDAsIGZwaXVmaS0+UHJvY2Vzc0lkTGlzdFtpXSk7CiAgICAgICBpZiAoIXBy b2MpCiAJY29udGludWU7CiAKQEAgLTEyOTgsNyArMTI4MCw3IEBAIGZoYW5kbGVyX3BpcGU6Omdl dF9xdWVyeV9oZGxfcGVyX3Byb2Nlc3MgKFdDSEFSICpuYW1lLAogCSAgICAgIHF1ZXJ5X2hkbF9w cm9jID0gcHJvYzsKIAkgICAgICBxdWVyeV9oZGxfdmFsdWUgPSAoSEFORExFKShpbnRwdHJfdCkg cGhpLT5IYW5kbGVzW2pdLkhhbmRsZVZhbHVlOwogCSAgICAgIEhlYXBGcmVlIChHZXRQcm9jZXNz SGVhcCAoKSwgMCwgcGhpKTsKLQkgICAgICBIZWFwRnJlZSAoR2V0UHJvY2Vzc0hlYXAgKCksIDAs IHByb2NfcGlkcyk7CisJICAgICAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFwICgpLCAwLCBmcGl1 ZmkpOwogCSAgICAgIHJldHVybiBoOwogCSAgICB9CiBjbG9zZV9oYW5kbGU6CkBAIC0xMzA4LDcg KzEyOTAsNyBAQCBjbG9zZV9oYW5kbGU6CiBjbG9zZV9wcm9jOgogICAgICAgQ2xvc2VIYW5kbGUg KHByb2MpOwogICAgIH0KLSAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFwICgpLCAwLCBwcm9jX3Bp ZHMpOworICBIZWFwRnJlZSAoR2V0UHJvY2Vzc0hlYXAgKCksIDAsIGZwaXVmaSk7CiAgIHJldHVy biBOVUxMOwogfQogCg== --Multipart=_Thu__11_Nov_2021_22_20_56_+0900_Knit7o+9aLfnM7T.--