Could we switch 100% to the 'threading' package?  Would this allow a
thread to be killed?  Are there other ways to stop a thread?  Others
must have encountered this and found clean solutions.

Regards,

Edward


On 13 April 2010 00:44, Michael Bieri <[email protected]> wrote:
> Python does not allow management of threads in both modules, thread and
> threading... The question dialog was applied later on.
>
> Edward d'Auvergne wrote:
>> Ouch, is this necessary?  Can the threading module be used instead?  A
>> kill button that instantly blows up the program is a bit dangerous.  I
>> thought that that was why the question dialog was introduced before
>> exiting.  The user will always have access to file->quit or the close
>> button in the top right hand corner.  I would suggest instead of
>> shifting all the cancel button code into its own method and then
>> commenting out the one line creating the button until we can properly
>> cancel a thread (note that the status object could be used here to
>> communicate with the other code that it should stop!).
>>
>> Regards,
>>
>> Edward
>>
>>
>> On 12 April 2010 06:43,  <[email protected]> wrote:
>>
>>> Author: michaelbieri
>>> Date: Mon Apr 12 06:43:06 2010
>>> New Revision: 11067
>>>
>>> URL: http://svn.gna.org/viewcvs/relax?rev=11067&view=rev
>>> Log:
>>> The relaxGUI controller cancel button is replaced with a kill  button.
>>>
>>> As python does not allow to selectively kill running threads, a kill button 
>>> in the relaxGUI controller was introduced, which kills the program.
>>>
>>> Modified:
>>>    branches/bieri_gui/gui_bieri/controller.py
>>>
>>> Modified: branches/bieri_gui/gui_bieri/controller.py
>>> URL: 
>>> http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/controller.py?rev=11067&r1=11066&r2=11067&view=diff
>>> ==============================================================================
>>> --- branches/bieri_gui/gui_bieri/controller.py (original)
>>> +++ branches/bieri_gui/gui_bieri/controller.py Mon Apr 12 06:43:06 2010
>>> @@ -61,7 +61,7 @@
>>>         self.progress_bar = wx.Gauge(self, -1, 100)
>>>
>>>         # buttons
>>> -        self.cancel_button = wx.Button(self, -1, "Cancel")
>>> +        self.cancel_button = wx.Button(self, -1, "Kill")
>>>         self.close_button = wx.Button(self, -1, "Close")
>>>
>>>         # Create Objects (see below)
>>> @@ -118,6 +118,8 @@
>>>         @type event:    wx event
>>>         """
>>>
>>> +        sys.exit(0)
>>> +
>>>         # Terminate the event.
>>>         event.Skip()
>>>
>>> @@ -178,14 +180,17 @@
>>>             wx.CallAfter(self.out.progress_bar.SetValue, 
>>> (100*no/total_models))
>>>
>>>         # Sphere to Ellipsoid Models.
>>> -        if self.status.dAuvergne_protocol.diff_model in ['sphere', 
>>> 'prolate', 'oblate', 'ellipsoid']:
>>> +        elif self.status.dAuvergne_protocol.diff_model in ['sphere', 
>>> 'prolate', 'oblate', 'ellipsoid']:
>>>             # Determine actual round (maximum is 20).
>>>             wx.CallAfter(self.out.progress_bar.SetValue, 
>>> (100*(self.status.dAuvergne_protocol.round-1)/20))
>>>
>>>         # Final analysis.
>>> -        if self.status.dAuvergne_protocol.diff_model == 'final':
>>> +        elif self.status.dAuvergne_protocol.diff_model == 'final':
>>>             mc_simulation = self.status.mc_number
>>>
>>> +        # Rx Analysis.
>>> +        else:
>>> +            print str(cdp.sim_number)
>>>
>>>         # Add new output.
>>>         wx.CallAfter(self.out.log_panel.AppendText, string)
>>>
>>>
>>> _______________________________________________
>>> 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
>

_______________________________________________
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