@startuml hide footbox participant "E20 main thread" as main participant "tdm thread" as sub sub <-- : a synchronous event activate sub --> main: a synchronous event activate main sub -> sub: calling thread callbacks in tdm-thread activate sub deactivate sub sub --> main: sending a synchronous event sub -> sub: pthread_cond_wait activate sub main -> main: calling thread callbacks in main-thread activate main deactivate main main --> sub: sending a synchronous event main -> main: pthread_cond_wait activate main deactivate sub deactivate main deactivate main deactivate sub ... (DEADLOCK) ... @enduml