summaryrefslogtreecommitdiff
path: root/isofs/pager.c
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1997-08-20 19:04:49 +0000
committerThomas Bushnell <thomas@gnu.org>1997-08-20 19:04:49 +0000
commitadcf3f2a55cfcce391e5205fdc6ca986ca7f9f26 (patch)
tree390bf9f4da27f40f287f4e23056261edf4b3a9c4 /isofs/pager.c
parentfaf7ed89435b12a4a58b2ec0357e124bdc830b45 (diff)
Wed Aug 20 14:29:11 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* pager.c (diskfs_get_filemap): If pager_create fails, return error to caller.
Diffstat (limited to 'isofs/pager.c')
-rw-r--r--isofs/pager.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/isofs/pager.c b/isofs/pager.c
index f02d2f35..3ebcc7e8 100644
--- a/isofs/pager.c
+++ b/isofs/pager.c
@@ -165,6 +165,13 @@ diskfs_get_filemap (struct node *np, vm_prot_t prot)
upi->np = np;
diskfs_nref_light (np);
upi->p = pager_create (upi, pager_bucket, 1, MEMORY_OBJECT_COPY_DELAY);
+ if (upi->p == 0)
+ {
+ diskfs_nrele_light (np);
+ free (upi);
+ spin_unlock (&node2pagelock);
+ return MACH_PORT_NULL;
+ }
np->dn->fileinfo = upi;
right = pager_get_port (np->dn->fileinfo->p);
ports_port_deref (np->dn->fileinfo->p);