summaryrefslogtreecommitdiff
path: root/src/cmd/init/init.c
diff options
context:
space:
mode:
authordzwdz2024-07-25 22:17:27 +0200
committerdzwdz2024-07-25 22:17:27 +0200
commit69fd0dd9fda47aa52cccdbef6ca388cea38e693b (patch)
tree9e0e80e0380f2f39dea8f3a76ecb629918ff187a /src/cmd/init/init.c
parent24934406d5d39e013e22a9e6f4138c4169460d71 (diff)
kernel: pass more information to user on interrupt
This is meant to facilitate a syscall for returning from interrupts, which will actually work in the general case as opposed to the current hack, which only works if the interrupt occured during a syscall (which is correct... for now).
Diffstat (limited to 'src/cmd/init/init.c')
-rw-r--r--src/cmd/init/init.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/init/init.c b/src/cmd/init/init.c
index 0a64054..9caa283 100644
--- a/src/cmd/init/init.c
+++ b/src/cmd/init/init.c
@@ -68,9 +68,10 @@ void redirect(const char *exe, const char *out, const char *in) {
}
}
-void shutdown(void) {
- printf("[init] intr\n");
- _sys_intr(NULL, 0);
+void shutdown(struct intr_data *data) {
+ const char *msg = "impending shutdown";
+ printf("[init] shutdown with message: %s\n", data->msg);
+ _sys_intr(msg, strlen(msg));
_sys_sleep(1000);
printf("[init] filicide\n");
_sys_filicide();