1 Jan
2024
1 Jan
'24
7:20 a.m.
pirmd., 2023. g. 4. dec., plkst. 03:24 — lietotājs Dāvis Mosāns (<davispuh(a)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 ); }