Browse Source

Fix setup_pypy kills itself.

INADA Naoki 12 years ago
parent
commit
384ac208ce
1 changed files with 11 additions and 11 deletions
  1. 11 11
      flask/setup_pypy.py

+ 11 - 11
flask/setup_pypy.py

@@ -3,19 +3,19 @@ import sys
 import setup_util
 import setup_util
 import os
 import os
 
 
+proc = None
+
 def start(args):
 def start(args):
+  global proc
   setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
   setup_util.replace_text("flask/app.py", "DBHOSTNAME", args.database_host)
-  subprocess.Popen("~/FrameworkBenchmarks/installs/pypy-2.0/bin/pypy run_pypy.py --port=8080 --logging=error", shell=True, cwd="flask")
+  proc = subprocess.Popen("~/FrameworkBenchmarks/installs/pypy-2.0/bin/pypy run_pypy.py --port=8080 --logging=error", shell=True, cwd="flask")
   return 0
   return 0
 
 
 def stop():
 def stop():
-  p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
-  out, err = p.communicate()
-  for line in out.splitlines():
-    if 'pypy' in line:
-      try:
-        pid = int(line.split(None, 2)[1])
-        os.kill(pid, 9)
-      except OSError:
-        pass
-  return 0
+  global proc
+  if not proc:
+    return 0
+  proc.terminate()
+  ret = proc.wait()
+  proc = None
+  return ret