feat: make System Log quit on failed query; display message box

This commit is contained in:
daniel committed 2026-10-01 08:36:03 +02:00
1 parent 2e3055f5f8
commit 63b4bd51e8
3 files changed
+19 -4

No files matched your search

+3 -3
View File
@@ -1,4 +1,4 @@
# Makefile for syslog (standalone Window Server app) on MontaukOS
# Makefile for syslog on MontaukOS
# Copyright (c) 2026 Daniel Hammer
MAKEFLAGS += -rR
@@ -51,9 +51,9 @@ TARGET := $(BINDIR)/apps/syslog/syslog.elf
all: $(TARGET)
$(TARGET): $(OBJS) $(LINK_LD) Makefile $(LIBDIR)/libc/liblibc.a
$(TARGET): $(OBJS) $(LINK_LD) Makefile $(LIBDIR)/libc/liblibc.a $(LIBDIR)/libloader/liblibloader.a
mkdir -p $(BINDIR)/apps/syslog
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(LIBDIR)/libc/liblibc.a -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(LIBDIR)/libc/liblibc.a $(LIBDIR)/libloader/liblibloader.a -o $@
$(OBJDIR)/%.o: %.cpp Makefile
mkdir -p $(OBJDIR)
+15
View File
@@ -13,6 +13,7 @@
#include <gui/standalone.hpp>
#include <gui/terminal.hpp>
#include <gui/truetype.hpp>
#include <gui/dialogs.hpp>
using namespace gui;
@@ -181,6 +182,20 @@ extern "C" void _start() {
g_klog.last_pixels = g_win.pixels;
int n = (int)montauk::read_log(g_klog.klog_buf, KLOG_READ_SIZE);
/* read_log can return CapabilityDenied or BadPointer */
if (n < 0) {
gui::dialogs::message_box(
"System Log",
"System Log was unable to query the system log buffer.",
gui::dialogs::MESSAGE_BOX_OK
);
klog_cleanup();
g_win.destroy();
montauk::exit(-(n));
}
if (n > 0) {
klog_refeed(n);
g_klog.last_len = n;