From 91ecc2dc6a44ff9febf1a50b1f745a3168c5942a Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Tue, 11 Nov 2025 00:51:29 +0100 Subject: [PATCH] Break when IpcPipe is full --- kernel/ipc/pipe/pipe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/ipc/pipe/pipe.c b/kernel/ipc/pipe/pipe.c index 0392540..ab19bca 100644 --- a/kernel/ipc/pipe/pipe.c +++ b/kernel/ipc/pipe/pipe.c @@ -33,7 +33,9 @@ int32_t ipc_pipewrite(IpcPipe *pipe, const uint8_t *const buffer, size_t n) { size_t i = 0; spinlock_acquire(&pipe->spinlock); for (; i < n; i++) { - rbuf_push(&pipe->rbuf, buffer[i]); + if (rbuf_push(&pipe->rbuf, buffer[i]) < 0) { + break; + } } spinlock_release(&pipe->spinlock); return i;