This does not work in either the thread or threading module. I tried 
both and this seems to be the simplest solution.
 

Edward d'Auvergne wrote:
> 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

Reply via email to