summaryrefslogtreecommitdiff
path: root/libpager
diff options
context:
space:
mode:
authorBrent W. Baccala <cosine@freesoft.org>2016-11-14 00:44:17 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-11-14 00:44:17 +0100
commit385d9bf1b81bc35f06cdf49f57bf65545339cbbb (patch)
treebe3dd87330348bc87435fcd32c1864d9ae0a7e63 /libpager
parent345abeda66c8aa5cb4d121fc8455cbe8053b9db6 (diff)
libpager: fix returning error on data_unlock
The _pager_lock_object call needs to be asynchronous because libpager is single threaded, at least in the sense that individual memory objects only process one request at a time.  In this case, we're processing a data_unlock request, and would have to handle a lock_completed message before lock_object would return (synchronously). * libpager/data-unlock.c (_pager_S_memory_object_data_unlock): Pass 0 to sync parameter of _pager_lock_object() call.
Diffstat (limited to 'libpager')
-rw-r--r--libpager/data-unlock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libpager/data-unlock.c b/libpager/data-unlock.c
index 8c9680c4..077e673f 100644
--- a/libpager/data-unlock.c
+++ b/libpager/data-unlock.c
@@ -73,7 +73,7 @@ _pager_S_memory_object_data_unlock (struct pager *p,
/* Flush the page, and set a bit so that m_o_data_request knows
to issue an error. */
_pager_lock_object (p, offset, length, MEMORY_OBJECT_RETURN_NONE, 1,
- VM_PROT_WRITE, 1);
+ VM_PROT_WRITE, 0);
_pager_mark_next_request_error (p, offset, length, err);
}
out: