summaryrefslogtreecommitdiff
path: root/libdiskfs/node-nrele.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/node-nrele.c')
-rw-r--r--libdiskfs/node-nrele.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libdiskfs/node-nrele.c b/libdiskfs/node-nrele.c
index ed418a19..73688356 100644
--- a/libdiskfs/node-nrele.c
+++ b/libdiskfs/node-nrele.c
@@ -47,6 +47,12 @@ diskfs_nrele (struct node *np)
diskfs_lost_hardrefs (np);
if (!np->dn_stat.st_nlink)
{
+ if (np->sockaddr != MACH_PORT_NULL)
+ {
+ mach_port_deallocate (mach_task_self (), np->sockaddr);
+ np->sockaddr = MACH_PORT_NULL;
+ }
+
/* There are no links. If there are soft references that
can be dropped, we can't let them postpone deallocation.
So attempt to drop them. But that's a user-supplied