Quelle pourrait être la cause si un appel à pthread_cond_signal
deadlocks? D'après ce que je comprends (man page), il est implémenté en interne avec un mutex, mais qu'est-ce qui pourrait causer le blocage de cette opération interne de verrouillage de mutex?pthread_cond_signal deadlocks
EDIT: Je débogue une application qui semble bloquée à certaines occasions. Quelques-unes des stacktraces ressemblent à ceci:
Thread 1 (Thread 0xf6dff6c0 (LWP 32001)):
#0 0xffffe410 in __kernel_vsyscall()
#1 0x00af15de in __lll_mutex_lock_wait() from /lib/tls/libpthread.so.0
#2 0x00aef3eb in [email protected]@GLIBC_2.3.2() from /lib/tls/libpthread.so.0
#3 0xf4cc8d83 in xxx
Est-ce hypothétique, ou voyez-vous cela? –
J'étudie une situation de blocage réel dans une application Linux. – Krumelur
Ne montrez pas ce que fait ce thread, mais ce que tous les threads font: 'thread apply all backtrace'. Vous n'obtenez pas une impasse en n'utilisant qu'un seul thread. –