summaryrefslogtreecommitdiff
path: root/isofs
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
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')
-rw-r--r--isofs/ChangeLog5
-rw-r--r--isofs/pager.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/isofs/ChangeLog b/isofs/ChangeLog
index b4235a2d..ee961d51 100644
--- a/isofs/ChangeLog
+++ b/isofs/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
Tue Aug 19 14:20:09 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* rr.c (rrip_work) [SL]: Component length field does not include
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);