pirmd., 2023. g. 4. dec., plkst. 03:24 — lietotājs Dāvis Mosāns (davispuh@gmail.com) rakstīja:
[...] Here is small example that will deadlock Wine in exactly same way https://gist.github.com/davispuh/6c0ae7e5a10500a5b7a759b817e66214 In Windows such program will be killed and you'll get dialog with button to attach debugger.
So any thoughts how this could be fixed? It seems that in virtual_setup_exception() we need better abort_thread() that would be able to kill process that has some deadlocked threads.
void abort_thread( int status ) { pthread_sigmask( SIG_BLOCK, &server_block_set, NULL ); if (InterlockedDecrement( &nb_threads ) <= 0) abort_process( status ); pthread_exit_wrapper( status ); }