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

