From: gnome-perl (bugzilla.gnome.o. <bug...@gn...> - 2011-05-15 15:46:48
|
https://bugzilla.gnome.org/show_bug.cgi?id=620099 gnome-perl | Glib | unspecified --- Comment #6 from Torsten Schoenfeld <kaf...@gm...> 2011-05-15 15:46:35 UTC --- Created an attachment (id=187851) View: https://bugzilla.gnome.org/attachment.cgi?id=187851 Review: https://bugzilla.gnome.org/review?bug=620099&attachment=187851 Make signal marshalling thread-safe When a signal that has Perl handlers is emitted from a non-main non-Perl thread, we used to simply use PERL_SET_CONTEXT to associated this thread with the main Perl interpreter. But since it is not safe to call into one Perl interpreter concurrently, this does not work. Instead we now, upon noticing that we are being called from a thread without asoociated Perl interpreter, hand the marshalling request over to the main loop which in turn later wakes up the main thread and lets it handle the request. dGPERL_CLOSURE_MARSHAL_ARGS also needed to be adjusted not to use dSP since that dereferences the current thread's Perl interpreter without NULL check. -- Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. |