Files
RedBear-OS/ipcd
Red Bear OS c33f6ce762 ipcd shm: enforce O_RDONLY/O_WRONLY/O_RDWR access modes and zero-fill on grow
Round 6 stub scan follow-up: resolves three FIXMEs in the SHM scheme
daemon (ipcd/src/shm.rs).

* O_RDONLY/O_WRONLY/O_RDWR handling (was line 51): the Handle enum now
  tracks readable/writable booleans derived from the open flags'
  O_ACCMODE bits. read() returns EACCES on write-only handles; write()
  returns EACCES on read-only handles. When no access mode is specified
  (acc == 0), both read and write are permitted (preserves prior behavior).

* Zero-fill on truncate (was line 232): MmapGuard::grow_to now zeroes
  the byte range [old_len, new_len] on every growth, both in the
  in-capacity path and the new-allocation path. This ensures ftruncate-
  extended bytes read as zeros per POSIX SHM semantics, and prevents
  stale data leakage after a shrink-then-grow cycle. A zero_range helper
  method centralizes the write_bytes call.

* Zero-fill on read (was line 293): the grow_to zero-fill guarantee
  ensures all bytes within [0, self.len] are properly initialized (zeros
  or written data), so reads within the logical size always return valid
  data. The FIXME is removed and a null-base guard was added to read()
  for defensive safety.
2026-07-27 00:56:27 +09:00
..
2026-04-16 19:10:34 +02:00

ipcd

A userspace daemon for interprocess communication.

Usage

See the examples folder.

Simply open chan:<name> with O_CREAT where <name> is any name you'd like to create a listener.
This listener can accept clients by calling dup("listen").

Open chan:<name> without O_CREAT to connect. Now you can read and write between both streams.