CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/06/28 10:52:45
Modified files:
usr.sbin/vmd : i8253.c mc146818.c ns8250.c vm.c vmd.h
Log message:
vmd(8): Eliminate libevent state corruption
libevent functions for com, pic and rtc are now only called on event_thread.
vcpu exit handlers send messages on a dev pipe and callbacks on these events do
the event management (event_add, evtimer_add, etc). Previously, libevent state
was mutated by two threads, event_thread, that runs all the callbacks and the
vcpu thread when running exit handlers. This could have lead to libevent state
corruption.
Patch from Dave Voutila <[email protected]>
ok claudio@
tested by abieber@ and brynet@