tags 606487 - unreproducible
Hi.
I have reproduced it on my machine and I am also attaching the patch
that fixes the problem.
The problem was that race condition was happening, because thread was
not identified as a closed. Here is the part of the stack trace from
gdb:
(gdb) bt
#0 0xb7fe2424 in __kernel_vsyscall ()
#1 0xb74bcaf5 in pthread_join () from /lib/i686/cmov/libpthread.so.0
#2 0x0804d1b8 in lingot_audio_stop (audio=0x810bc40) at
lingot-audio.c:202
#3 0x0804fa8f in lingot_core_stop (core=0x80755d0) at lingot-core.c:496
#4 0x0805307d in lingot_mainframe_change_config (frame=0x80653f8,
conf=0x81b14b0) at lingot-mainframe.c:867
#5 0x0805144c in lingot_config_dialog_callback_close (widget=0x80a89c0,
dialog=0x81b4218) at lingot-config-dialog.c:97
Should I also send this upstream?
Best regards,
Ruslans Tarasovs
diff -r 315755d3d979 src/lingot-audio.c
--- a/src/lingot-audio.c Sat Dec 11 17:06:17 2010 +0100
+++ b/src/lingot-audio.c Tue Feb 15 21:27:19 2011 +0200
@@ -194,6 +194,7 @@
void* thread_result;
if (audio->running == 1) {
+ audio->running = 0;
// threads cancelation
if (audio->audio_system != AUDIO_SYSTEM_JACK) {