[GRASS-dev] [GRASS GIS] #2151: g.gui.* modules which use temporal framework leave processes after exiting

GRASS GIS trac at osgeo.org
Sat Jan 4 18:49:42 PST 2014


#2151: g.gui.* modules which use temporal framework leave processes after exiting
-----------------------+----------------------------------------------------
  Reporter:  annakrat  |       Owner:  grass-dev@…                   
      Type:  defect    |      Status:  closed                        
  Priority:  normal    |   Milestone:  7.0.0                         
 Component:  Python    |     Version:  svn-trunk                     
Resolution:  fixed     |    Keywords:  g.gui.animation, temporal, RCP
  Platform:  Linux     |         Cpu:  All                           
-----------------------+----------------------------------------------------
Changes (by huhabla):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 Replying to [comment:11 annakrat]:
 > Replying to [comment:10 huhabla]:
 > > Replying to [comment:9 annakrat]:
 > > > Replying to [comment:8 huhabla]:
 > > >
 > > > > The patch is not applied yet, since it does not solve the issue
 that the child process is still alive. Maybe an explicit os.exit() should
 be added to g.gui.timeline? How about an exit button?
 > > >
 > > > os.exit would close the whole wxGUI when the timeline tool is called
 from the wxGUI. Exit button would not solve anything, it just does the
 same as the standard x close button or Alt+F4. I tried it to be sure and
 there is no difference. I think you can commit your changes, it's
 improvement. Could the problem come from the matplotlib? Maybe I am using
 it in an incorrect way.
 > >
 > > I have applied the patch and included an explicit kill call in the
 destructor of TimelineFrame, see r58597. The kill signal will only be send
 if g.gui.timeline works in stand-alone mode (hopefully, please cross-check
 that).
 > >
 > > Killing the process is a crude solution, but i have no better idea how
 to avoid orphaned daemon g.gui.timeline processes.
 >
 > I found the problem and removed it (r58598, r58599). Now it should
 terminate all processes but please check. It was caused by a line of code
 which actually did nothing for me but I thought it might be working for
 some other version of matplotlib. I should have looked at it earlier. What
 about the changes you did? Part of them like the os.kill are redundant
 now, not sure about tgis.stop_subprocesses()?

 I kept tgis.stop_subprocesses() within the destructor to assure the
 termination of the messenger and C-interface subprocesses when the time
 line tool was started from the main GUI. The explicit kill and dependent
 code was removed in svn (r58602 and r58609). It works for me, no orphaned
 processes after closing g.gui.timeline.

 I will close this ticket, marking it as fixed.

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/2151#comment:12>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list