The result of reading non blocked empty stream is different between
python2 and 3. The python2 sends "[Errno 11] Resource temporarily
unavailable" exception. The python3 could read "None" without
exception, so handle this "None" case as well.
Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
ready = False
try:
out = vm['proc'].stdout.read()
+ if out == None:
+ return False
except:
return False
logger.debug("VM[%d] stdout.read[%s]" % (i, out))
first_running = True
try:
err = vm[i]['proc'].stderr.read()
- vm[i]['err'] += err
- logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+ if err != None:
+ vm[i]['err'] += err
+ logger.debug("VM[%d] stderr.read[%s]" % (i, err))
except:
pass
running = True
try:
err = vm[i]['proc'].stderr.read()
- vm[i]['err'] += err
- logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+ if err != None:
+ vm[i]['err'] += err
+ logger.debug("VM[%d] stderr.read[%s]" % (i, err))
except:
pass