aboutsummaryrefslogtreecommitdiff
path: root/src/libutil
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-03-08 09:19:15 +0100
committereldritch horrors <pennae@lix.systems>2024-03-09 10:17:26 -0700
commit992d99592f1022593e4df276e39e8f4f65822f74 (patch)
tree4d688284a84b4dea63c447d7283af0b30e201cf0 /src/libutil
parent6b11c2cd7020869b796dc8e6904b358c9e41a23c (diff)
`:quit` in the debugger should quit the whole program
(cherry picked from commit 2a8fe9a93837733e9dd9ed5c078734a35b203e14) Change-Id: I71dadfef6b24d9272b206e9e2c408040559d8a1c
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/exit.cc7
-rw-r--r--src/libutil/exit.hh19
2 files changed, 26 insertions, 0 deletions
diff --git a/src/libutil/exit.cc b/src/libutil/exit.cc
new file mode 100644
index 000000000..73cd8b04e
--- /dev/null
+++ b/src/libutil/exit.cc
@@ -0,0 +1,7 @@
+#include "exit.hh"
+
+namespace nix {
+
+Exit::~Exit() {}
+
+}
diff --git a/src/libutil/exit.hh b/src/libutil/exit.hh
new file mode 100644
index 000000000..55f33e62f
--- /dev/null
+++ b/src/libutil/exit.hh
@@ -0,0 +1,19 @@
+#pragma once
+
+#include <exception>
+
+namespace nix {
+
+/**
+ * Exit the program with a given exit code.
+ */
+class Exit : public std::exception
+{
+public:
+ int status;
+ Exit() : status(0) { }
+ explicit Exit(int status) : status(status) { }
+ virtual ~Exit();
+};
+
+}