summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
authorBrendan Coles <bcoles@gmail.com>2021-01-31 07:24:41 +0000
committerAndreas Kling <kling@serenityos.org>2021-01-31 09:08:51 +0100
commit50092ea0ca37f0818d07c25651f2b5ad0f0acc2a (patch)
tree55accabfa64a283bc8017c622b661fa246ed3035 /Userland
parentdf2a4adcd2e34a7998c181f088aa121fa5bbc4ff (diff)
downloadserenity-50092ea0ca37f0818d07c25651f2b5ad0f0acc2a.zip
Inspector: Exit if inspected process has not pledged accept
Diffstat (limited to 'Userland')
-rw-r--r--Userland/DevTools/Inspector/main.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/Userland/DevTools/Inspector/main.cpp b/Userland/DevTools/Inspector/main.cpp
index 0a4fec645f..b3234f536a 100644
--- a/Userland/DevTools/Inspector/main.cpp
+++ b/Userland/DevTools/Inspector/main.cpp
@@ -28,10 +28,12 @@
#include "RemoteObjectGraphModel.h"
#include "RemoteObjectPropertyModel.h"
#include "RemoteProcess.h"
+#include <LibCore/ProcessStatisticsReader.h>
#include <LibGUI/Application.h>
#include <LibGUI/BoxLayout.h>
#include <LibGUI/Menu.h>
#include <LibGUI/MenuBar.h>
+#include <LibGUI/MessageBox.h>
#include <LibGUI/ModelEditingDelegate.h>
#include <LibGUI/ProcessChooser.h>
#include <LibGUI/Splitter.h>
@@ -98,6 +100,20 @@ int main(int argc, char** argv)
}
auto window = GUI::Window::construct();
+
+ auto all_processes = Core::ProcessStatisticsReader::get_all();
+ for (auto& it : all_processes.value()) {
+ if (it.value.pid != pid)
+ continue;
+ if (it.value.pledge.is_empty())
+ break;
+ if (!it.value.pledge.contains("accept")) {
+ GUI::MessageBox::show(window, String::formatted("{} ({}) has not pledged accept!", it.value.name, pid), "Error", GUI::MessageBox::Type::Error);
+ return 1;
+ }
+ break;
+ }
+
window->set_title("Inspector");
window->resize(685, 500);
window->set_icon(app_icon.bitmap_for_size(16));