commit-hurd
[Top][All Lists]
Advanced

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

[hurd] 09/16: libfshelp/get-identity.c: Simplify checking weak reference


From: Samuel Thibault
Subject: [hurd] 09/16: libfshelp/get-identity.c: Simplify checking weak references
Date: Tue, 09 Jan 2018 01:35:29 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch upstream
in repository hurd.

commit 6868c17b7def25beb69e7b685496e078340d8b12
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 02:05:06 2018 +0100

    libfshelp/get-identity.c: Simplify checking weak references
    
    * libfshelp/get-identity.c (id_clean): Test whether i is still in the
    hash table instead of counting weak references.
---
 libfshelp/get-identity.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/libfshelp/get-identity.c b/libfshelp/get-identity.c
index 96de55a..ac1b4f0 100644
--- a/libfshelp/get-identity.c
+++ b/libfshelp/get-identity.c
@@ -69,14 +69,13 @@ static void
 id_clean (void *cookie)
 {
   struct idspec *i = cookie;
-  struct references result;
   pthread_mutex_lock (&idlock);
-  refcounts_references (&i->pi.refcounts, &result);
-  if (result.hard == 0 && result.weak == 2)
+  if (refcounts_hard_references(&i->pi.refcounts) == 0
+      && i->id_hashloc != NULL)
     {
-      /* Nobody got a send right in between and we have the last weak reference
-         in addition to our caller's, so we can remove from the hash. */
+      /* Nobody got a send right in between, we can remove i from the hash.  */
       hurd_ihash_locp_remove (&idhash, i->id_hashloc);
+      i->id_hashloc = NULL;
       ports_port_deref_weak (&i->pi);
     }
   pthread_mutex_unlock (&idlock);

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

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