diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-08-10 15:38:13 +1000 |
---|---|---|
committer | Chase Douglas <chase.douglas@canonical.com> | 2012-08-13 09:35:29 -0700 |
commit | aac17b1b9284fc72604abfc76e3ab3f85eec3bd2 (patch) | |
tree | 6969bb8b31d65ddbc8c620034f8407170eed7c92 | |
parent | 340c07db1cbaa5fab10985d270fb30a2751abf61 (diff) |
xserver: add destructor to tear down the server
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r-- | include/xorg/gtest/xorg-gtest-xserver.h | 1 | ||||
-rw-r--r-- | src/xserver.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/xorg/gtest/xorg-gtest-xserver.h b/include/xorg/gtest/xorg-gtest-xserver.h index ee2b0e3..f3bda9b 100644 --- a/include/xorg/gtest/xorg-gtest-xserver.h +++ b/include/xorg/gtest/xorg-gtest-xserver.h @@ -59,6 +59,7 @@ namespace testing { class XServer : public xorg::testing::Process { public: XServer(); + ~XServer(); /** * Start a new server. If no binary is given, the server started is the diff --git a/src/xserver.cpp b/src/xserver.cpp index 244a96e..86c8484 100644 --- a/src/xserver.cpp +++ b/src/xserver.cpp @@ -68,6 +68,12 @@ xorg::testing::XServer::XServer() : d_(new Private) { SetDisplayNumber(d_->display_number); } +xorg::testing::XServer::~XServer() { + if (Pid() > 0) + if (!Terminate(3000)) + Kill(300); +} + void xorg::testing::XServer::SetDisplayNumber(unsigned int display_number) { d_->display_number = display_number; |