Avi Kivity
authored
One problem with wake() is, if the thread that it is waking can cuncurrently exit, that it may touch freed memory belonging to the thread structure. Fix by separating the state that wake() touches into a detached_state structure, and free that using rcu. Add a thread_handle class that references only this detached state, and accesses it via rcu. Signed-off-by:Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
Name | Last commit | Last update |
---|---|---|
.. | ||
api | ||
glibc-compat | ||
lockfree | ||
osv | ||
align.hh | ||
alloctracker.hh | ||
alternative.hh | ||
barrier.hh | ||
commands.hh | ||
debug.hh | ||
dhcp.hh | ||
elf.hh | ||
execinfo.h | ||
ilog2.hh | ||
interrupt.hh | ||
irqlock.hh | ||
mempool.hh | ||
mmio.hh | ||
mmu.hh | ||
preempt-lock.hh | ||
prio.hh | ||
sched.hh | ||
tls.hh |