From: gnome-perl (bugzilla.gnome.o. <bug...@gn...> - 2010-05-30 15:11:25
|
https://bugzilla.gnome.org/show_bug.cgi?id=620099 gnome-perl | Glib | unspecified Summary: Make it safe to call into Glib from foreign threads Classification: Bindings Product: gnome-perl Version: unspecified OS/Version: Linux Status: NEW Severity: normal Priority: Normal Component: Glib AssignedTo: gtk...@li... ReportedBy: kaf...@gm... QAContact: gtk...@li... GNOME target: --- GNOME version: --- Currently, when a foreign thread calls into Glib (e.g., invoking a signal handler or a callback), we use PERL_SET_CONTEXT to install a pointer to the main thread's perl interpreter into the current thread's local storage. A few bug reports and some experimentation suggest that this is not safe: one cannot use a single perl interpreter from multiple threads concurrently. I'll attach a set of patches that work towards fixing this by creating a clone of the master interpreter whenever we are called from a new foreign thread. In my limited testing, they seem to work fine. But they are not finished yet. For example, one of the changes is pthread-specific, and that might be problematic. But more importantly, I'm not convinced yet that we really want to take this approach, because creating clones is really expensive. Opinions appreciated. -- 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. |