[Orbit-python-list] workaround for gtk+corba
Status: Inactive
Brought to you by:
tack
From: Brian C. <bc...@th...> - 2002-02-08 23:47:04
|
Operating on the theory that the problem is the threading, I rebuilt pygtk w/o thread support (orbit-python has it disabled with a #define). This appears to work. The glade top window came up, and it was able to process a servant method invocation via orbit. Whoohoo. The failure case (as I understand it) was occurring because pygtk was doing a thread save prior to gtk_main(), and then the first corba event would attempt to call into python w/o doing a thread restore. Then I'd get the thread error. Enabling threading in orbit-python merely caused it to fail in the same callback, on thread restore. I suspect this is because it's attempting to restore from an uninitialized variable (since it's normally initialized in orb.run(), which is never invoked). There seems to be a significant design problem here with the python thread model. Perhaps python modules need to agree on a policy for storing thread info, so it can be shared. I don't know if it's possible for modules to share information. b.c. |