summaryrefslogtreecommitdiff
path: root/libpager
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-04-26 18:53:13 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-04-26 18:53:13 +0000
commita4491d96806ac53c70ec7bcc8ff13a0f473c7625 (patch)
treeb7b2c153018dd046602346dbe1ab9c4741d3547d /libpager
parentdc6b593ba04fb47cb0c2c8b1b8bfa6d1b0b871ac (diff)
Formerly object-init.c.~8~
Diffstat (limited to 'libpager')
-rw-r--r--libpager/object-init.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libpager/object-init.c b/libpager/object-init.c
index e940ee9a..8933189b 100644
--- a/libpager/object-init.c
+++ b/libpager/object-init.c
@@ -33,21 +33,22 @@ _pager_seqnos_memory_object_init (mach_port_t object,
if (!(p = ports_check_port_type (object, pager_port_type)))
return EOPNOTSUPP;
- mutex_lock (&p->interlock);
-
- if (p->pager_state != NOTINIT)
- {
- printf ("pager dup init");
- goto out;
- }
if (pagesize != __vm_page_size)
{
printf ("incg init: bad page size");
goto out;
}
+ mutex_lock (&p->interlock);
+
_pager_wait_for_seqno (p, seqno);
+ if (p->pager_state != NOTINIT)
+ {
+ printf ("pager dup init\n");
+ goto out;
+ }
+
p->memobjcntl = control;
p->memobjname = name;