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@

Reply via email to