Just curious about wait condition.
I am currently learning the LLVM generation of Rust.
In kernel/src/sync/wait_condition.rs: struct WaitCondition.
The drop of WaitCondition calls notify_signal(), which in turn locks the contexts and each context in the vector contexts.
The Context is a structure that contains waitpid, which is a WaitMap and contains a WaitCondtion. This means the drop of Context will also drop WaitCondition, as in function notify().
Here is my concern: will it be possible to trigger a double-lock bug when dropping the WaitCondition or Context? thanks.