Index: trunk/packages/sipb-xen-remote-server/files/usr/sbin/sipb-xen-remote-listvms
===================================================================
--- trunk/packages/sipb-xen-remote-server/files/usr/sbin/sipb-xen-remote-listvms	(revision 556)
+++ trunk/packages/sipb-xen-remote-server/files/usr/sbin/sipb-xen-remote-listvms	(revision 558)
@@ -13,15 +13,4 @@
 ###
 
-def run(cmd):
-  """
-  Run the given command (a list of program and argument strings) and return the
-  stdout as a string, raising a CalledProcessError if the program exited with a
-  non-zero status.
-  """
-  p = Popen(cmd, stdout=PIPE)
-  stdout = p.communicate()[0]
-  if p.returncode != 0: raise CalledProcessError(p.returncode, cmd)
-  return stdout
-
 def main(argv):
   # Query each of the server for their VMs.
@@ -30,6 +19,10 @@
   servers = [ 'black-mesa.mit.edu', 'sx-blade-2.mit.edu' ]
   # XXX
-  results = [ safe_load(run(['remctl', server, 'remote', 'web', 'listvms']))
-              for server in servers ]
+  pipes = [ Popen(['remctl', server, 'remote', 'web', 'listvms'], stdout=PIPE)
+            for server in servers ]
+  outputs = [ p.communicate()[0] for p in pipes ]
+  for p in pipes:
+    if p.returncode != 0: raise CalledProcessError(p.returncode, cmd)
+  results = [ safe_load(o) for o in outputs ]
   results = filter( lambda x: x is not None, results )
 
