[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