Some cosmetic changes to MyPOpen
authorNathan Binkert <binkertn@umich.edu>
Thu, 10 Feb 2005 05:02:51 +0000 (00:02 -0500)
committerNathan Binkert <binkertn@umich.edu>
Thu, 10 Feb 2005 05:02:51 +0000 (00:02 -0500)
util/pbs/pbs.py:
    More tweaks that I forgot

--HG--
extra : convert_revision : 7298f91b80bc7d8d946be93fc622e5f9f6e155f9

util/pbs/pbs.py

index cd55da7229bc4fc4fb16a66f54765444c261c9b5..ecacbeba2edb7f799c1c17006c4c9b7728270f75 100755 (executable)
@@ -30,7 +30,7 @@ import os, popen2, re, sys
 
 class MyPOpen(object):
     def __init__(self, cmd, input = None, output = None, bufsize = -1):
-        self.sts = -1
+        self.status = -1
 
         if input is None:
             p2c_read, p2c_write = os.pipe()
@@ -64,17 +64,9 @@ class MyPOpen(object):
 
         self.pid = os.fork()
         if self.pid == 0:
-            os.dup2(p2c_read, 0)
-            os.dup2(c2p_write, 1)
-            os.dup2(c2p_write, 2)
-            if isinstance(cmd, basestring):
-                cmd = ['/bin/sh', '-c', cmd]
-            if False:
-                for i in range(3, MAXFD):
-                    try:
-                        os.close(i)
-                    except OSError:
-                        pass
+            os.dup2(p2c_read, sys.stdin.fileno())
+            os.dup2(c2p_write, sys.stdout.fileno())
+            os.dup2(c2p_write, sys.stderr.fileno())
             try:
                 os.execvp(cmd[0], cmd)
             finally:
@@ -84,18 +76,18 @@ class MyPOpen(object):
         os.close(c2p_write)
 
     def poll(self):
-        if self.sts < 0:
-            pid, sts = os.waitpid(self.pid, os.WNOHANG)
+        if self.status < 0:
+            pid, status = os.waitpid(self.pid, os.WNOHANG)
             if pid == self.pid:
-                self.sts = sts
-        return self.sts
+                self.status = status
+        return self.status
 
     def wait(self):
-        if self.sts < 0:
-            pid, sts = os.waitpid(self.pid, 0)
+        if self.status < 0:
+            pid, status = os.waitpid(self.pid, 0)
             if pid == self.pid:
-                self.sts = sts
-        return self.sts
+                self.status = status
+        return self.status
 
 class qsub:
     def __init__(self):