You could then just use: id = thread.start_new_thread(self.execute_thread, ())
and remove the argument from self.execute_thread. This should then work. This seems to be related to the low-level nature of the thread class "this module provides low-level primitives for working with multiple threads". The word low-level is, in programming speak, a strong warning! I think that because the Python hard-core programming elite recommend the following about the thread package (http://docs.python.org/library/thread.html): "... you should consider using the high-level threading module instead." and: "The threading module provides an easier to use and higher-level threading API built on top of this module." Not only that, but 'thread' is not supported on all computer systems but 'threading' is - "For systems lacking the thread module, the dummy_thread module is available.". Therefore I would consider it very unwise to not switch from the 'thread' module to the 'threading' module. Regards, Edward On 14 April 2010 00:33, Michael Bieri <[email protected]> wrote: > The dummy_string is added as thread.start_new_thread needs two arguments. If > we call execute_thread() function as self.execute_thread(), we cannot create > a tuple, which is necessary in the second argument. Therefore, I created the > dummy_string. This allows to add a tuple as second argument. Not ideal... > but works. > > Edward d'Auvergne wrote: >> >> This is fair enough. But what is the purpose of dummy_string? >> >> Cheers, >> >> Edward >> >> >> On 13 April 2010 07:01, <[email protected]> wrote: >> >>> >>> Author: michaelbieri >>> Date: Tue Apr 13 07:01:28 2010 >>> New Revision: 11079 >>> >>> URL: http://svn.gna.org/viewcvs/relax?rev=11079&view=rev >>> Log: >>> Storage of thread id is removed from auto_rx_base.py as it is unused >>> (threads can't get killed). >>> >>> Modified: >>> branches/bieri_gui/gui_bieri/analyses/auto_rx_base.py >>> >>> Modified: branches/bieri_gui/gui_bieri/analyses/auto_rx_base.py >>> URL: >>> http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/analyses/auto_rx_base.py?rev=11079&r1=11078&r2=11079&view=diff >>> >>> ============================================================================== >>> --- branches/bieri_gui/gui_bieri/analyses/auto_rx_base.py (original) >>> +++ branches/bieri_gui/gui_bieri/analyses/auto_rx_base.py Tue Apr 13 >>> 07:01:28 2010 >>> @@ -363,27 +363,14 @@ >>> # Display the relax controller. >>> self.gui.controller.Show() >>> >>> - # FIXME: Debugging code, non-threaded exec. >>> - self.execute_thread() >>> - event.Skip() >>> - return >>> - >>> - # The thread object storage. >>> - self.gui.calc_threads.append(Thread_container()) >>> - thread_cont = self.gui.calc_threads[-1] >>> - >>> # Start the thread. >>> - id = thread.start_new_thread(self.execute_thread, ()) >>> - >>> - # Add the thread info to the container. >>> - thread_cont.id = id >>> - thread_cont.analysis_type = self.analysis_type >>> + id = thread.start_new_thread(self.execute_thread, ('dummy',)) >>> >>> # Terminate the event. >>> event.Skip() >>> >>> >>> - def execute_thread(self): >>> + def execute_thread(self, dummy_string): >>> """Execute the calculation in a thread.""" >>> >>> # Redirect relax output and errors to the controller. >>> >>> >>> _______________________________________________ >>> relax (http://nmr-relax.com) >>> >>> This is the relax-commits mailing list >>> [email protected] >>> >>> To unsubscribe from this list, get a password >>> reminder, or change your subscription options, >>> visit the list information page at >>> https://mail.gna.org/listinfo/relax-commits >>> >>> >> >> _______________________________________________ >> relax (http://nmr-relax.com) >> >> This is the relax-devel mailing list >> [email protected] >> >> To unsubscribe from this list, get a password >> reminder, or change your subscription options, >> visit the list information page at >> https://mail.gna.org/listinfo/relax-devel >> >> >> > _______________________________________________ relax (http://nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

