From 1e0097721818052e86b47ddf70b9819d3b33a89a Mon Sep 17 00:00:00 2001 From: hyades Date: Mon, 2 Sep 2013 01:59:22 +0530 Subject: [PATCH] Added gcov_flush method to server to allow dumping coverage information --- python-api/gstswitch/server.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/python-api/gstswitch/server.py b/python-api/gstswitch/server.py index 6dbfed0..d27b951 100644 --- a/python-api/gstswitch/server.py +++ b/python-api/gstswitch/server.py @@ -234,6 +234,7 @@ def terminate(self): except OSError: raise ServerProcessError("Cannot terminate server process. " "Try killing it") + return False def kill(self): """Kill the server process by sending signal.SIGKILL @@ -253,3 +254,28 @@ def kill(self): return True except OSError: raise ServerProcessError('Cannot kill process') + return False + + + def gcov_flush(self): + """Generate gcov coverage by sending the signal SIGUSR1 + The generated gcda files are dumped in tools directory. + Does not kill the process + + :param: None + :returns: True when success + :raises ServerProcessError: If Server is not running + :raises ServerProcessError: Unable to send signal + """ + + if self.proc is None: + raise ServerProcessError('Server process does not exist') + else: + try: + os.kill(self.pid, signal.SIGUSR1) + return True + except OSError: + raise ServerProcessError('Unable to send signal') + return False + +