diff options
-rw-r--r-- | libpager/data-request.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libpager/data-request.c b/libpager/data-request.c index f5bbfb5b..2bd80b9e 100644 --- a/libpager/data-request.c +++ b/libpager/data-request.c @@ -74,7 +74,7 @@ _pager_seqnos_memory_object_data_request (mach_port_t object, err = _pager_pagemap_resize (p, offset + length); if (err) - goto release_out; /* Can't do much about the actual error. */ + goto allow_release_out; /* Can't do much about the actual error. */ /* If someone is paging this out right now, the disk contents are unreliable, so we have to wait. It is too expensive (right now) to @@ -140,6 +140,8 @@ _pager_seqnos_memory_object_data_request (mach_port_t object, ports_port_deref (p); return 0; + allow_release_out: + _pager_allow_termination (p); release_out: _pager_release_seqno (p, seqno); mutex_unlock (&p->interlock); |