GStreamer multimedia framework
Find a file
Matthew Waters 126ee924c0 glwindow: don't use g_thread_join() to join the navigation thread
Using g_thread_join() in _finalize() handlers may result in a deadlock
joining the current thread when the last reference is held by a signal
handler.

e.g.:

error 'Resource deadlock avoided' during 'pthread_join (pt->system_thread, NULL)'

The backtrace looks like this:
[...]
g_thread_join ()
gst_gl_window_finalize ()
gst_gl_window_x11_finalize ()
g_object_unref ()
g_value_unset ()
g_signal_emit_valist ()
g_signal_emit ()
gst_gl_window_send_mouse_event ()
gst_gl_window_mouse_event_cb ()
g_main_dispatch ()
[..]
g_main_loop_run ()
gst_gl_window_navigation_thread ()
g_thread_proxy ()
start_thread ()
clone ()
2017-12-09 19:32:23 +00:00
ext/gl gluploadelement: fix leak of upload library object 2017-12-09 19:32:23 +00:00
gst-libs/gst/gl glwindow: don't use g_thread_join() to join the navigation thread 2017-12-09 19:32:23 +00:00
pkgconfig gl/pkgconfig: add the lib include dir to the list of includes 2017-12-09 19:32:22 +00:00
tests tests/gl: make sure all GL commands are executed on the GL thread 2017-12-09 19:32:22 +00:00