Break when IpcPipe is full
This commit is contained in:
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user