Each byte written to stdin will be interpreted as a signal.
Signed-off-by: Sage Weil <sage@inktank.com>
import contextlib
import logging
import os
+import struct
from teuthology import misc as teuthology
from teuthology import contextutil
self.proc = self.remote.run(*cmd_args, **cmd_kwargs)
self.log.info('Started')
+ def signal(self, sig):
+ self.proc.stdin.write(struct.pack('!b', sig))
+ self.log.info('Sent signal %d', sig)
def running(self):
return self.proc is not None
import os
import select
import signal
+import struct
import subprocess
import sys
saw_eof = True
proc.send_signal(end_signal)
break
+ else:
+ sig, = struct.unpack('!b', data)
+ proc.send_signal(sig)
if proc.poll() is not None:
# child exited