Definition at line 906 of file GaudiTest.py.
| def GaudiTest.GaudiFilterExecutable.__init__ |
( |
|
self, |
|
|
|
input, |
|
|
|
timeout = -1 |
|
) |
| |
Create a new 'Filter'.
'input' -- The string containing the input to provide to the
child process.
'timeout' -- As for 'TimeoutExecutable.__init__'.
Definition at line 907 of file GaudiTest.py.
908 """Create a new 'Filter'.
910 'input' -- The string containing the input to provide to the
913 'timeout' -- As for 'TimeoutExecutable.__init__'."""
915 super(GaudiFilterExecutable, self).
__init__(input, timeout)
922 tmpf = tempfile.mkstemp()
| def GaudiTest.GaudiFilterExecutable.__init__ |
( |
|
self, |
|
|
|
input, |
|
|
|
timeout = -1 |
|
) |
| |
Create a new 'Filter'.
'input' -- The string containing the input to provide to the
child process.
'timeout' -- As for 'TimeoutExecutable.__init__'.
Definition at line 907 of file GaudiTest.py.
908 """Create a new 'Filter'.
910 'input' -- The string containing the input to provide to the
913 'timeout' -- As for 'TimeoutExecutable.__init__'."""
915 super(GaudiFilterExecutable, self).
__init__(input, timeout)
922 tmpf = tempfile.mkstemp()
| def GaudiTest.GaudiFilterExecutable.__Monitor |
( |
|
self | ) |
|
|
private |
Code copied from FilterExecutable.
Kill the child if the timeout expires.
This function is run in the monitoring thread.
Definition at line 1045 of file GaudiTest.py.
1046 """Code copied from FilterExecutable.
1047 Kill the child if the timeout expires.
1049 This function is run in the monitoring thread."""
1057 result = win32event.WaitForSingleObject(self._GetChildPID(),
1060 if result == win32con.WAIT_TIMEOUT:
| def GaudiTest.GaudiFilterExecutable.__Monitor |
( |
|
self | ) |
|
|
private |
Code copied from FilterExecutable.
Kill the child if the timeout expires.
This function is run in the monitoring thread.
Definition at line 1045 of file GaudiTest.py.
1046 """Code copied from FilterExecutable.
1047 Kill the child if the timeout expires.
1049 This function is run in the monitoring thread."""
1057 result = win32event.WaitForSingleObject(self._GetChildPID(),
1060 if result == win32con.WAIT_TIMEOUT:
| def GaudiTest.GaudiFilterExecutable.__UseSeparateProcessGroupForChild |
( |
|
self | ) |
|
|
private |
Copied from TimeoutExecutable to allow the re-implementation of
_HandleChild.
Definition at line 926 of file GaudiTest.py.
927 """Copied from TimeoutExecutable to allow the re-implementation of
930 if sys.platform ==
"win32":
def __UseSeparateProcessGroupForChild(self)
| def GaudiTest.GaudiFilterExecutable.__UseSeparateProcessGroupForChild |
( |
|
self | ) |
|
|
private |
Copied from TimeoutExecutable to allow the re-implementation of
_HandleChild.
Definition at line 926 of file GaudiTest.py.
927 """Copied from TimeoutExecutable to allow the re-implementation of
930 if sys.platform ==
"win32":
def __UseSeparateProcessGroupForChild(self)
| def GaudiTest.GaudiFilterExecutable._HandleChild |
( |
|
self | ) |
|
|
private |
Needs to replace the ones from RedirectedExecutable and TimeoutExecutable.
Code copied from both FilterExecutable and TimeoutExecutable.
Definition at line 940 of file GaudiTest.py.
941 """Code copied from both FilterExecutable and TimeoutExecutable.
945 self._ClosePipeEnd(self._stdin_pipe[0])
946 if self._stdout_pipe:
947 self._ClosePipeEnd(self._stdout_pipe[1])
948 if self._stderr_pipe:
949 self._ClosePipeEnd(self._stderr_pipe[1])
957 super(qm.executable.TimeoutExecutable, self).
_HandleChild()
964 child_pid = self._GetChildPID()
966 os.setpgid(child_pid, child_pid)
994 os.setpgid(0, child_pid)
1003 max_fds = os.sysconf(
"SC_OPEN_MAX")
1006 for fd
in xrange(max_fds):
1017 if sys.platform ==
"linux2":
1019 os.path.join(
"/proc", str(child_pid),
"exe"),
1021 "-batch",
"-n",
"-x",
1022 "'%s'" % os.path.join(os.path.dirname(__file__),
"stack-trace.gdb")]
1025 o = os.popen(
" ".join(cmd)).read()
1030 os.kill(0, signal.SIGKILL)
1033 select.select ([], [], [])
1038 elif self.
__timeout >= 0
and sys.platform ==
"win32":
1041 self.__monitor_thread.start()
def _HandleChild(self)
Needs to replace the ones from RedirectedExecutable and TimeoutExecutable.
__monitor_thread
This is the interesting part: dump the stack trace to a file.
def __UseSeparateProcessGroupForChild(self)
| def GaudiTest.GaudiFilterExecutable._HandleChild |
( |
|
self | ) |
|
|
private |
Needs to replace the ones from RedirectedExecutable and TimeoutExecutable.
Code copied from both FilterExecutable and TimeoutExecutable.
Definition at line 940 of file GaudiTest.py.
941 """Code copied from both FilterExecutable and TimeoutExecutable.
945 self._ClosePipeEnd(self._stdin_pipe[0])
946 if self._stdout_pipe:
947 self._ClosePipeEnd(self._stdout_pipe[1])
948 if self._stderr_pipe:
949 self._ClosePipeEnd(self._stderr_pipe[1])
957 super(qm.executable.TimeoutExecutable, self).
_HandleChild()
964 child_pid = self._GetChildPID()
966 os.setpgid(child_pid, child_pid)
994 os.setpgid(0, child_pid)
1003 max_fds = os.sysconf(
"SC_OPEN_MAX")
1006 for fd
in xrange(max_fds):
1017 if sys.platform ==
"linux2":
1019 os.path.join(
"/proc", str(child_pid),
"exe"),
1021 "-batch",
"-n",
"-x",
1022 "'%s'" % os.path.join(os.path.dirname(__file__),
"stack-trace.gdb")]
1025 o = os.popen(
" ".join(cmd)).read()
1030 os.kill(0, signal.SIGKILL)
1033 select.select ([], [], [])
1038 elif self.
__timeout >= 0
and sys.platform ==
"win32":
1041 self.__monitor_thread.start()
def _HandleChild(self)
Needs to replace the ones from RedirectedExecutable and TimeoutExecutable.
__monitor_thread
This is the interesting part: dump the stack trace to a file.
def __UseSeparateProcessGroupForChild(self)
| GaudiTest.GaudiFilterExecutable.__input |
|
private |
| GaudiTest.GaudiFilterExecutable.__monitor_pid |
|
private |
| GaudiTest.GaudiFilterExecutable.__monitor_thread |
|
private |
This is the interesting part: dump the stack trace to a file.
Definition at line 1040 of file GaudiTest.py.
| GaudiTest.GaudiFilterExecutable.__timeout |
|
private |
| GaudiTest.GaudiFilterExecutable.stack_trace_file |
The documentation for this class was generated from the following file:
- InstallArea/x86_64-slc6-gcc48-opt/qmtest_classes/GaudiTest.py