It makes its own acquire() call and then calls to_thread.run_sync which will acquire() again. If many tasks are submitted to the executor near-simultaneously, then they might all complete the first acquire() and then all block waiting for the second one to succeed, producing deadlock.
It makes its own acquire() call and then calls
to_thread.run_sync
which will acquire() again. If many tasks are submitted to the executor near-simultaneously, then they might all complete the first acquire() and then all block waiting for the second one to succeed, producing deadlock.