diff options
author | Brent W. Baccala <cosine@freesoft.org> | 2016-11-14 00:44:17 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-11-14 00:44:17 +0100 |
commit | 385d9bf1b81bc35f06cdf49f57bf65545339cbbb (patch) | |
tree | be3dd87330348bc87435fcd32c1864d9ae0a7e63 /libpager | |
parent | 345abeda66c8aa5cb4d121fc8455cbe8053b9db6 (diff) | |
download | hurd-385d9bf1b81bc35f06cdf49f57bf65545339cbbb.tar.gz hurd-385d9bf1b81bc35f06cdf49f57bf65545339cbbb.tar.bz2 hurd-385d9bf1b81bc35f06cdf49f57bf65545339cbbb.zip |
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.c | 2 |
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: |