[GRASS-SVN] r62649 - grass/trunk/gui/wxpython/core
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Nov 6 19:23:40 PST 2014
Author: annakrat
Date: 2014-11-06 19:23:40 -0800 (Thu, 06 Nov 2014)
New Revision: 62649
Modified:
grass/trunk/gui/wxpython/core/utils.py
Log:
wxGUI: change GuiModuleMain implementation, calls simply main() instead of forking new process because it was not stable and not working on Windows and Mac
Modified: grass/trunk/gui/wxpython/core/utils.py
===================================================================
--- grass/trunk/gui/wxpython/core/utils.py 2014-11-07 02:53:39 UTC (rev 62648)
+++ grass/trunk/gui/wxpython/core/utils.py 2014-11-07 03:23:40 UTC (rev 62649)
@@ -1062,35 +1062,12 @@
def GuiModuleMain(mainfn):
"""Main function for g.gui.* modules
-
- Note: os.fork() is supported only on Unix platforms
-
- .. todo::
- Replace os.fork() by multiprocessing (?)
-
- :param mainfn: main function
+
+ os.fork removed in r62649 as fragile
"""
- if sys.platform != 'win32':
- # launch GUI in the background
- child_pid = os.fork()
- if child_pid == 0:
- # To become the session leader of this new session and the process group
- # leader of the new process group, we call os.setsid(). The process is
- # also guaranteed not to have a controlling terminal.
- os.setsid()
- mainfn()
- else:
- # exit() or _exit()?
- # _exit is like exit(), but it doesn't call any functions registered
- # with atexit (and on_exit) or any registered signal handlers. It also
- # closes any open file descriptors. Using exit() may cause all stdio
- # streams to be flushed twice and any temporary files may be unexpectedly
- # removed. It's therefore recommended that child branches of a fork()
- # and the parent branch(es) of a daemon use _exit().
- os._exit(0) # Exit parent of the child.
- else:
- mainfn()
+ mainfn()
+
def PilImageToWxImage(pilImage, copyAlpha = True):
"""Convert PIL image to wx.Image
More information about the grass-commit
mailing list