On 4/25/22 11:06, Michal Privoznik wrote:
> When a SIGHUP is received a thread is spawned that runs
> virStateReload(). However, if SIGINT is received while the former
> thread is still running then we may get into problematic
> situation: the cleanup code in main() sees drivers initialized
> and thus calls virStateCleanup(). So now we have two threads, one
> running virStateReload() the other virStateCleanup(). In this
> situation it's very likely that a race condition occurs and
> either of threads causes SIGSEGV.
>
> To fix this, unmark drivers as initialized in the
> virStateReload() thread for the time the function runs.
>
> Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=2075837
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/remote/remote_daemon.c | 17 +++++++++++------
> 1 file changed, 11 insertions(+), 6 deletions(-)
Polite ping.