git://git.onelab.eu
/
bootmanager.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9c46d73
)
Revert "replace deprecated popen2 with subprocess"
author
S.Çağlar Onur
<caglar@cs.princeton.edu>
Thu, 26 Aug 2010 19:49:45 +0000
(15:49 -0400)
committer
S.Çağlar Onur
<caglar@cs.princeton.edu>
Thu, 26 Aug 2010 19:49:45 +0000
(15:49 -0400)
This reverts commit
37388b93f7ef01f73393a26e0db22dc80b74a620
.
source/utils.py
patch
|
blob
|
history
diff --git
a/source/utils.py
b/source/utils.py
index
f57a0a3
..
10607cc
100644
(file)
--- a/
source/utils.py
+++ b/
source/utils.py
@@
-11,8
+11,7
@@
# expected /proc/partitions format
import os, sys, shutil
# expected /proc/partitions format
import os, sys, shutil
-import subprocess
-import shlex
+import popen2
import socket
import fcntl
import string
import socket
import fcntl
import string
@@
-133,19
+132,18
@@
def sysexec( cmd, log= None, fsck = False ):
if VERBOSE_MODE:
print ("sysexec >>> %s" % cmd)
if VERBOSE_MODE:
print ("sysexec >>> %s" % cmd)
- try:
- prog = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- except OSError:
+ prog = popen2.Popen4( cmd, 0 )
+ if prog is None:
raise BootManagerException, \
raise BootManagerException, \
- "Unable to create instance of
subprocess.Popen
" \
+ "Unable to create instance of
popen2.Popen4
" \
"for command: %s" % cmd
"for command: %s" % cmd
- try:
- (stdoutdata, stderrdata) = prog.communicate()
- except KeyboardInterrupt:
- raise BootManagerException, "Interrupted by user"
if log is not None:
if log is not None:
- log.write(stdoutdata)
+ try:
+ for line in prog.fromchild:
+ log.write( line )
+ except KeyboardInterrupt:
+ raise BootManagerException, "Interrupted by user"
returncode = prog.wait()
returncode = prog.wait()
@@
-164,7
+162,6
@@
def sysexec( cmd, log= None, fsck = False ):
else:
if returncode != 0:
raise BootManagerException, "Running %s failed (rc=%d)" % (cmd,returncode)
else:
if returncode != 0:
raise BootManagerException, "Running %s failed (rc=%d)" % (cmd,returncode)
-
prog = None
return 1
prog = None
return 1