From 08c30d78151d6e0166c82272c9e3293acdf08a6b Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Tue, 23 Apr 1996 15:14:33 +0000 Subject: (diskfs_drop_node): Don't do anything special for socket naming points. In fact, if this node still is one, there is a bug, because such naming points hold references now. --- libdiskfs/node-drop.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/libdiskfs/node-drop.c b/libdiskfs/node-drop.c index 9947beef..1e0c1236 100644 --- a/libdiskfs/node-drop.c +++ b/libdiskfs/node-drop.c @@ -54,6 +54,8 @@ diskfs_drop_node (struct node *np) return; } + assert (np->dn_stat.st_size == 0); + savemode = np->dn_stat.st_mode; np->dn_stat.st_mode = 0; np->dn_stat.st_rdev = 0; @@ -61,16 +63,6 @@ diskfs_drop_node (struct node *np) diskfs_node_update (np, 1); diskfs_free_node (np, savemode); } - else if (np->sockaddr) - /* If NP is a socket naming point, we can't drop it until it actually - gets unlinked. Unfortunately we have no way of knowing whether the - server is still alive. This will result in a node with zero refs; I'm - not sure whether that will cause lossage.... XXX */ - { - spin_unlock (&diskfs_node_refcnt_lock); - mutex_unlock (&np->lock); - return; - } else diskfs_node_update (np, diskfs_synchronous); @@ -86,10 +78,8 @@ diskfs_drop_node (struct node *np) free (dm); } } - if (np->sockaddr) - mach_port_deallocate (mach_task_self (), np->sockaddr); + assert (!np->sockaddr); - _diskfs_purge_cache_deletion (np); diskfs_node_norefs (np); spin_unlock (&diskfs_node_refcnt_lock); } -- cgit v1.2.3