lock: fix for upcall.status on cancel_lock()

cancel_lock() can't rely on checking upcall.status, because a handle_lock() success could be overwritten by upcall_marshall() or failure to allocate the upcall reply buffer.  added new flag lock_upcall_args.acquired for this purpose

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2011-08-26 13:21:27 -04:00 committed by unknown
parent d08d3774fd
commit d107131f78
2 changed files with 6 additions and 1 deletions

View file

@ -74,6 +74,7 @@ typedef struct __lock_upcall_args {
uint64_t length;
BOOLEAN exclusive;
BOOLEAN blocking;
BOOLEAN acquired;
} lock_upcall_args;
typedef struct __unlock_upcall_args {