app: add debug_terminate() event, quick hack to terminate
[staging/windowmanager.git] / src / app.cpp
index 255a64a..5ff8729 100644 (file)
@@ -18,6 +18,8 @@
 
 #include <fstream>
 #include <json.hpp>
+#include <bits/signum.h>
+#include <csignal>
 
 namespace wm {
 
@@ -282,6 +284,12 @@ binding_api::result_type binding_api::debug_status() {
    return Ok(jr);
 }
 
+binding_api::result_type binding_api::debug_terminate() {
+   logdebug("%s", __func__);
+   raise(SIGKILL);  // XXX afb-daemon kills it's pgroup using TERM, which doesn't play well with perf
+   return Ok(json_object_new_object());
+}
+
 //                  _             _ _            _                 _
 //   ___ ___  _ __ | |_ _ __ ___ | | | ___ _ __ | |__   ___   ___ | | _____
 //  / __/ _ \| '_ \| __| '__/ _ \| | |/ _ \ '__|| '_ \ / _ \ / _ \| |/ / __|