4ba511830f
logd scheme.rs: - Kernel log reader: don't break loop on 0-byte read. /scheme/sys/log presents a snapshot; breaking loses all future entries. Now polls with a 50ms sleep on drain, continuing to capture new kernel logs. Also slice buffer to actual bytes read to avoid processing stale data. - read(): return EBADF instead of silent Ok(0) stub. Logd handles are write-only sinks; reading is not a valid operation. - fcntl(): return ENOSYS instead of silent Ok(0). No fcntl operations are implemented for log handles. - fsync(): remove TODO comment; behavior (Ok(())) is correct since the output channel guarantees FIFO delivery. ipcd uds/stream.rs: - events(): remove 'TODO: block on write buffer'. Backpressure is now applied at the scheme level. - fevent(): filter EVENT_WRITE based on peer receive buffer fullness against sender's SO_SNDBUF. Prevents busy-spin when buffer is full. - write_inner(): check backpressure before accepting data. Return EAGAIN (non-blocking) or EWOULDBLOCK (blocking) when peer buffer would exceed SO_SNDBUF limit. Only applies to established connections. - handle_sendmsg(): same backpressure check for sendmsg path. initfs tools/src/lib.rs: - Replace hardcoded PAGE_SIZE=4096 constant with runtime detection via sysconf(_SC_PAGESIZE). Handles 16K/64K page ARM hardware correctly. Falls back to 4096 with logged warning if sysconf fails or returns an invalid value.