debuggers.hg
changeset 3194:d0daec09aa8b
bitkeeper revision 1.1159.187.19 (41a65822miLPeexZ6MOkyk4Usl-Rpw)
Fix multicall preemption.
Fix multicall preemption.
author | kaf24@scramble.cl.cam.ac.uk |
---|---|
date | Thu Nov 25 22:09:38 2004 +0000 (2004-11-25) |
parents | 1a221a308fe5 |
children | d4bdc9cba180 a46548db5e52 |
files | xen/common/multicall.c |
line diff
1.1 --- a/xen/common/multicall.c Thu Nov 25 21:06:13 2004 +0000 1.2 +++ b/xen/common/multicall.c Thu Nov 25 22:09:38 2004 +0000 1.3 @@ -52,9 +52,15 @@ long do_multicall(multicall_entry_t *cal 1.4 1.5 if ( hypercall_preempt_check() ) 1.6 { 1.7 - /* If the sub-call wasn't preempted, skip over it. */ 1.8 + /* 1.9 + * Copy the sub-call continuation if it was preempted. 1.10 + * Otherwise skip over the sub-call entirely. 1.11 + */ 1.12 if ( !test_bit(_MCSF_call_preempted, &mcs->flags) ) 1.13 i++; 1.14 + else 1.15 + (void)__copy_to_user(&call_list[i], &mcs->call, 1.16 + sizeof(*call_list)); 1.17 1.18 /* Only create a continuation if there is work left to be done. */ 1.19 if ( i < nr_calls )