From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#34069: rename-file on fifos hangs if cross device Date: Sun, 18 Dec 2022 13:06:58 -0800 Message-ID: <309f1805-7f3e-9b84-5a8b-5735b812a661@cs.ucla.edu> References: <875zur2xyc.fsf@jidanni.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------jKf21FGXY06J0viOYJ5H9UPN" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10450"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: 34069@debbugs.gnu.org, Stefan Kangas , =?UTF-8?Q?=E7=A9=8D=E4=B8=B9=E5=B0=BC?= Dan Jacobson To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 18 22:08:25 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p70tU-0002W1-Hj for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 18 Dec 2022 22:08:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p70tA-000769-Kp; Sun, 18 Dec 2022 16:08:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p70t9-00075m-3C for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2022 16:08:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p70t8-0000Cm-Ij for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2022 16:08:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p70t8-0004xW-5x for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2022 16:08:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <875zur2xyc.fsf@jidanni.org> Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 18 Dec 2022 21:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34069 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 34069-submit@debbugs.gnu.org id=B34069.167139762819046 (code B ref 34069); Sun, 18 Dec 2022 21:08:02 +0000 Original-Received: (at 34069) by debbugs.gnu.org; 18 Dec 2022 21:07:08 +0000 Original-Received: from localhost ([127.0.0.1]:35924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p70sF-0004x8-MK for submit@debbugs.gnu.org; Sun, 18 Dec 2022 16:07:08 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:43858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p70sE-0004wl-11 for 34069@debbugs.gnu.org; Sun, 18 Dec 2022 16:07:06 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 97AE8160075; Sun, 18 Dec 2022 13:07:00 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id aDKRh4ebWgr8; Sun, 18 Dec 2022 13:06:59 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 92670160070; Sun, 18 Dec 2022 13:06:59 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu 92670160070 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1671397619; bh=bOpL5Ouhgdp5QPlbGnfNqivxfNtpDyiQ6KsbVzmqmxo=; h=Content-Type:Message-ID:Date:MIME-Version:To:From:Subject; b=ASlR6U/NVPhXu0Bboh3lqYAQGDHz1U17UvAYKSpykAGFSAUR09qWxE3tUGcNv2aqp 1FYQaw/8MFVTYai0G27dwqSkJ4SddYTlJVwJ0PKDiAakX8lcKteBaHD/mh53iQD8L+ NS6iPQHgKyxmwhAb1j2ZDNUsrgKtD+ZzVgkH3am4= X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id IHrTh4ag61kQ; Sun, 18 Dec 2022 13:06:59 -0800 (PST) Original-Received: from [192.168.86.236] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 49CCA160079; Sun, 18 Dec 2022 13:06:59 -0800 (PST) Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:251379 Archived-At: This is a multi-part message in MIME format. --------------jKf21FGXY06J0viOYJ5H9UPN Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit In reviewing that patch I discovered that there's a similar bug in copy-file, and that there's some opportunity to simplify and robustify the rename-file code. I installed the attached patches on master to do that. --------------jKf21FGXY06J0viOYJ5H9UPN Content-Type: text/x-patch; charset=UTF-8; name="0001-Don-t-hang-when-copying-FIFOs.patch" Content-Disposition: attachment; filename="0001-Don-t-hang-when-copying-FIFOs.patch" Content-Transfer-Encoding: base64 RnJvbSBhYjNjZmE0YTE3NjYzY2Y0NzlmMjg2MTQ5YTIyODk5NzRkZDY3MjQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE4IERlYyAyMDIyIDExOjQ1OjA2IC0wODAwClN1YmplY3Q6IFtQQVRD SCAxLzJdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaGFuZz0yMHdoZW49MjBjb3B5aW5n PTIwRklGPz0KID0/VVRGLTg/cT9Pcz89Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgoqIHNyYy9maWxlaW8uYyAoRmNvcHlfZmlsZSk6IE9wZW4gdGhlIGlucHV0IGZp bGUgd2l0aCBPX05PTkJMT0NLLgpUaGlzIHByZXZlbnRzIGEgaGFuZyBpZiB0aGUgaW5wdXQg ZmlsZSBpcyBhIEZJRk8uCklmIGl04oCZcyBhIHJlZ3VsYXIgZmlsZSBPX05PTkJMT0NLIGhh cyBubyBlZmZlY3Q7Cm90aGVyd2lzZSB0aGUgZmlsZSBpcyBzb29uIHJlamVjdGVkIGFueXdh eS4KLS0tCiBzcmMvZmlsZWlvLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvZmlsZWlvLmMgYi9zcmMv ZmlsZWlvLmMKaW5kZXggOTIzMzViNjM5Yy4uYTUwZjhkNjdjMSAxMDA2NDQKLS0tIGEvc3Jj L2ZpbGVpby5jCisrKyBiL3NyYy9maWxlaW8uYwpAQCAtMjIxOSw3ICsyMjE5LDcgQEAgREVG VU4gKCJjb3B5LWZpbGUiLCBGY29weV9maWxlLCBTY29weV9maWxlLCAyLCA2LAogICAgICAg cmVwb3J0X2ZpbGVfZXJyb3IgKCJDb3B5aW5nIHBlcm1pc3Npb25zIHRvIiwgbmV3bmFtZSk7 CiAgICAgfQogI2Vsc2UgLyogbm90IFdJTkRPV1NOVCAqLwotICBpZmQgPSBlbWFjc19vcGVu IChTU0RBVEEgKGVuY29kZWRfZmlsZSksIE9fUkRPTkxZLCAwKTsKKyAgaWZkID0gZW1hY3Nf b3BlbiAoU1NEQVRBIChlbmNvZGVkX2ZpbGUpLCBPX1JET05MWSB8IE9fTk9OQkxPQ0ssIDAp OwogCiAgIGlmIChpZmQgPCAwKQogICAgIHJlcG9ydF9maWxlX2Vycm9yICgiT3BlbmluZyBp bnB1dCBmaWxlIiwgZmlsZSk7Ci0tIAoyLjM4LjEKCg== --------------jKf21FGXY06J0viOYJ5H9UPN Content-Type: text/x-patch; charset=UTF-8; name="0002-Improve-rename-file-fix-bug-34069.patch" Content-Disposition: attachment; filename="0002-Improve-rename-file-fix-bug-34069.patch" Content-Transfer-Encoding: base64 RnJvbSA3OWUxYmZmMjY5NDQ0NGEyNzAzNmIwOGU4ZmEyYTY2MTliNDBkYzJhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE4IERlYyAyMDIyIDEyOjU3OjU3IC0wODAwClN1YmplY3Q6IFtQQVRD SCAyLzJdIEltcHJvdmUgcmVuYW1lLWZpbGUgZml4IChidWcjMzQwNjkpCgoqIHNyYy9maWxl aW8uYyAoRnJlbmFtZV9maWxlKTogTm8gbmVlZCBmb3IgYSBzcGVjaWFsIGNhc2UgdG8KcmVu YW1lIGEgZmlmbywgc2luY2Ugd2UgYWxyZWFkeSB0cmllZCBhbmQgZmFpbGVkIHRvIHJlbmFt ZSBpdC4KQWxzbyBpbXByb3ZlIHN5bWxpbmsgaGFuZGxpbmcsIGluIHRoYXQgaWYgcmVhZGxp bmsgZmFpbHMgcmVwb3J0IGFuCmVycm9yIHJhdGhlciB0aGFuIHRyeWluZyB0byB0cmVhdCB0 aGUgbGluayBhcyBhIHJlZ3VsYXIgZmlsZS4KLS0tCiBzcmMvZmlsZWlvLmMgfCAzNSArKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9maWxlaW8u YyBiL3NyYy9maWxlaW8uYwppbmRleCBhNTBmOGQ2N2MxLi43ODlmM2Q1MDllIDEwMDY0NAot LS0gYS9zcmMvZmlsZWlvLmMKKysrIGIvc3JjL2ZpbGVpby5jCkBAIC0xMzQsNiArMTM0LDcg QEAgI2RlZmluZSBEUklWRV9MRVRURVIoeCkgY190b2xvd2VyICh4KQogICAgaXMgYWRkZWQg aGVyZS4gICovCiBzdGF0aWMgTGlzcF9PYmplY3QgVndyaXRlX3JlZ2lvbl9hbm5vdGF0aW9u X2J1ZmZlcnM7CiAKK3N0YXRpYyBMaXNwX09iamVjdCBlbWFjc19yZWFkbGlua2F0IChpbnQs IGNoYXIgY29uc3QgKik7CiBzdGF0aWMgTGlzcF9PYmplY3QgZmlsZV9uYW1lX2RpcmVjdG9y eSAoTGlzcF9PYmplY3QpOwogc3RhdGljIGJvb2wgYV93cml0ZSAoaW50LCBMaXNwX09iamVj dCwgcHRyZGlmZl90LCBwdHJkaWZmX3QsCiAJCSAgICAgTGlzcF9PYmplY3QgKiwgc3RydWN0 IGNvZGluZ19zeXN0ZW0gKik7CkBAIC0yNzEwLDMxICsyNzExLDE5IEBAIERFRlVOICgicmVu YW1lLWZpbGUiLCBGcmVuYW1lX2ZpbGUsIFNyZW5hbWVfZmlsZSwgMiwgMywKICAgICB9CiAg IGlmIChkaXJwKQogICAgIGNhbGw0IChRY29weV9kaXJlY3RvcnksIGZpbGUsIG5ld25hbWUs IFF0LCBRbmlsKTsKLSAgZWxzZQotICAgIHsKLSAgICAgIExpc3BfT2JqZWN0IHN5bWxpbmtf dGFyZ2V0Ci0JPSAoU19JU0xOSyAoZmlsZV9zdC5zdF9tb2RlKQotCSAgID8gY2hlY2tfZW1h Y3NfcmVhZGxpbmthdCAoQVRfRkRDV0QsIGZpbGUsIFNTREFUQSAoZW5jb2RlZF9maWxlKSkK LQkgICA6IFFuaWwpOwotICAgICAgaWYgKCFOSUxQIChzeW1saW5rX3RhcmdldCkpCi0JRm1h a2Vfc3ltYm9saWNfbGluayAoc3ltbGlua190YXJnZXQsIG5ld25hbWUsIG9rX2lmX2FscmVh ZHlfZXhpc3RzKTsKLSAgICAgIGVsc2UgaWYgKFNfSVNGSUZPIChmaWxlX3N0LnN0X21vZGUp KQotCXsKLQkgIC8qIElmIGl0J3MgYSBGSUZPLCBjYWxsaW5nIGBjb3B5LWZpbGUnIHdpbGwg aGFuZyBpZiBpdCdzIGEKLQkgICAgIGludGVyLWZpbGUgc3lzdGVtIG1vdmUsIHNvIGRvIGl0 IGhlcmUuICAoSXQgd2lsbCBzaWduYWwKLQkgICAgIGFuIGVycm9yIGluIHRoYXQgY2FzZSwg YnV0IGl0IHdvbid0IGhhbmcgaW4gYW55IGNhc2UuKSAgKi8KLQkgIGlmICghTklMUCAob2tf aWZfYWxyZWFkeV9leGlzdHMpKQotCSAgICBiYXJmX29yX3F1ZXJ5X2lmX2ZpbGVfZXhpc3Rz IChuZXduYW1lLCBmYWxzZSwKLQkJCQkJICAicmVuYW1lIHRvIGl0IiwKLQkJCQkJICBGSVhO VU1QIChva19pZl9hbHJlYWR5X2V4aXN0cyksCi0JCQkJCSAgZmFsc2UpOwotCSAgaWYgKHJl bmFtZSAoU1NEQVRBIChlbmNvZGVkX2ZpbGUpLCBTU0RBVEEgKGVuY29kZWRfbmV3bmFtZSkp ICE9IDApCi0JICAgIHJlcG9ydF9maWxlX2Vycm5vICgiUmVuYW1pbmciLCBsaXN0MiAoZmls ZSwgbmV3bmFtZSksIGVycm5vKTsKLQkgIHJldHVybiBRbmlsOwotCX0KKyAgZWxzZSBpZiAo U19JU1JFRyAoZmlsZV9zdC5zdF9tb2RlKSkKKyAgICBGY29weV9maWxlIChmaWxlLCBuZXdu YW1lLCBva19pZl9hbHJlYWR5X2V4aXN0cywgUXQsIFF0LCBRdCk7CisgIGVsc2UgaWYgKFNf SVNMTksgKGZpbGVfc3Quc3RfbW9kZSkpCisgICAgeworICAgICAgTGlzcF9PYmplY3QgdGFy Z2V0ID0gZW1hY3NfcmVhZGxpbmthdCAoQVRfRkRDV0QsCisJCQkJCSAgICAgU1NEQVRBIChl bmNvZGVkX2ZpbGUpKTsKKyAgICAgIGlmICghTklMUCAodGFyZ2V0KSkKKwlGbWFrZV9zeW1i b2xpY19saW5rICh0YXJnZXQsIG5ld25hbWUsIG9rX2lmX2FscmVhZHlfZXhpc3RzKTsKICAg ICAgIGVsc2UKLQlGY29weV9maWxlIChmaWxlLCBuZXduYW1lLCBva19pZl9hbHJlYWR5X2V4 aXN0cywgUXQsIFF0LCBRdCk7CisJcmVwb3J0X2ZpbGVfZXJyb3IgKCJSZW5hbWluZyIsIGxp c3QyIChmaWxlLCBuZXduYW1lKSk7CiAgICAgfQorICBlbHNlCisgICAgcmVwb3J0X2ZpbGVf ZXJybm8gKCJSZW5hbWluZyIsIGxpc3QyIChmaWxlLCBuZXduYW1lKSwgcmVuYW1lX2Vycm5v KTsKIAogICBzcGVjcGRsX3JlZiBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7CiAgIHNwZWNi aW5kIChRZGVsZXRlX2J5X21vdmluZ190b190cmFzaCwgUW5pbCk7Ci0tIAoyLjM4LjEKCg== --------------jKf21FGXY06J0viOYJ5H9UPN--