diff options
author | pd <pd@cvs.openbsd.org> | 2019-12-11 06:45:18 +0000 |
---|---|---|
committer | pd <pd@cvs.openbsd.org> | 2019-12-11 06:45:18 +0000 |
commit | 8d7817e44147a6a9edd122bc90b6e206018c544f (patch) | |
tree | f700966027033239fbb9ba973043263dbc728a02 /usr.sbin/yppoll | |
parent | d33d30f8367dacbf9c8da4d835866eeb9522b9a0 (diff) |
vmd: proper concurrency control when pausing a vm
Removes an XXX which slept for 1s waiting for the vcpu thread to reach HLT and
pause. We now define a paused and unpaused condition so that a call to
pause_vm() / vmctl pause blocks till the vm really reaches a paused state.
Also, detach events for devices from event loop when pausing and add them back
when unpausing. This is because some callbacks call pthread_mutex_lock and if
the vm is paused, it would block also causing the libevent thread to block.
This would mean that we would not be able to process any IMSGs received from vmm
(parent process) including a message to unpause.
ok mlarkin@
Diffstat (limited to 'usr.sbin/yppoll')
0 files changed, 0 insertions, 0 deletions