summaryrefslogtreecommitdiff
path: root/ext2fs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1995-07-21 21:51:25 +0000
committerMichael I. Bushnell <mib@gnu.org>1995-07-21 21:51:25 +0000
commit9b7b5a29f5a8a10f96ce1d2737e1c86f1254b4f3 (patch)
tree23836277ee1488fae377299a6dfd7551653a7b7c /ext2fs
parentc932385dfcb5ff1d4628e5b6fdb30c49988647ed (diff)
(diskfs_get_filemap): Free initial reference created by pager_create.
Diffstat (limited to 'ext2fs')
-rw-r--r--ext2fs/pager.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext2fs/pager.c b/ext2fs/pager.c
index 97fdd31b..558c87e4 100644
--- a/ext2fs/pager.c
+++ b/ext2fs/pager.c
@@ -671,8 +671,12 @@ diskfs_get_filemap (struct node *node)
upi->p =
pager_create (upi, pager_bucket, MAY_CACHE, MEMORY_OBJECT_COPY_DELAY);
node->dn->fileinfo = upi;
+ right = pager_get_port (node->dn->fileinfo->p);
+ ports_port_deref (node->dn->fileinfo->p);
}
- right = pager_get_port (node->dn->fileinfo->p);
+ else
+ /* XXX race; see ufs/pager.c here. */
+ right = pager_get_port (node->dn->fileinfo->p);
spin_unlock (&node_to_page_lock);
mach_port_insert_right (mach_task_self (), right, right,