summaryrefslogtreecommitdiff
path: root/libports/port-deref.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2001-03-31 23:06:40 +0000
committerRoland McGrath <roland@gnu.org>2001-03-31 23:06:40 +0000
commita6bf96a0896f42f4a737316d2d0d0ea1d3c0c114 (patch)
treed49464a4bafd60bdba0a42628678f23da1046b16 /libports/port-deref.c
parent5b423a6848038a829658fe6e4753d1e5c8743cb3 (diff)
2001-03-29 Neal H Walfield <neal@cs.uml.edu>
* port-deref.c (ports_port_deref): Simplify logic.
Diffstat (limited to 'libports/port-deref.c')
-rw-r--r--libports/port-deref.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libports/port-deref.c b/libports/port-deref.c
index a1238315..1ded45d9 100644
--- a/libports/port-deref.c
+++ b/libports/port-deref.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001 Free Software Foundation, Inc.
Written by Michael I. Bushnell.
This file is part of the GNU Hurd.
@@ -32,11 +32,11 @@ ports_port_deref (void *portstruct)
mutex_lock (&_ports_lock);
- if (pi->refcnt == 1 && pi->weakrefcnt && !trieddroppingweakrefs)
+ if (pi->refcnt == 1 && pi->weakrefcnt
+ && pi->class->dropweak_routine && !trieddroppingweakrefs)
{
mutex_unlock (&_ports_lock);
- if (pi->class->dropweak_routine)
- (*pi->class->dropweak_routine) (pi);
+ (*pi->class->dropweak_routine) (pi);
trieddroppingweakrefs = 1;
goto retry;
}