bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 12/13] trans: unlock nodes with faked attributes in fakeroot


From: Justus Winter
Subject: [PATCH 12/13] trans: unlock nodes with faked attributes in fakeroot
Date: Mon, 9 Dec 2013 15:16:40 +0100

When a node has faked attributes, we cannot drop our node.
Reinitialize the lock box as if the node was dropped.  This fixes the
following bug:

% fakeroot-hurd /bin/sh -c 'touch /tmp/$$.lock
                            chown 0 /tmp/$$.lock
                            l(){ flock /tmp/$$.lock true; }; l; l'
<hangs>

* trans/fakeroot.c (fake_node_dropweak): Unlock the node if the last
  real reference is dropped but we keep a fake one.
---
 trans/fakeroot.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 3756f48..920367d 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -172,6 +172,9 @@ fakeroot_netfs_release_protid (void *cookie)
         account for that fake reference.  */
       np->nn->faked |= FAKE_REFERENCE;
 
+      /* Clear the lock box as if the file was closed.  */
+      fshelp_lock_init (&np->userlock);
+
       /* We keep our node.  */
       goto out;
     }
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]