d3d12commandqueue: Fix deadlock on drain()
Don't take lock if the drain() is called from the GC thread Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>
This commit is contained in:
parent
a2df44da7d
commit
db47f46ad7
@ -570,9 +570,13 @@ gst_d3d12_command_queue_drain (GstD3D12CommandQueue * queue)
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
std::lock_guard < std::mutex > lk (priv->lock);
|
if (priv->gc_thread != g_thread_self ()) {
|
||||||
gc_list = priv->gc_list;
|
std::lock_guard < std::mutex > lk (priv->lock);
|
||||||
priv->gc_list = { };
|
gc_list = priv->gc_list;
|
||||||
|
priv->gc_list = { };
|
||||||
|
} else {
|
||||||
|
priv->gc_list = { };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user