e653ef10d6
- Revert initfs/rootfs service types from oneshot_async to blocking Scheme/Notify/Oneshot to fix init ordering races. - Add /scheme/pci retry loop in pcid-spawner. - Bump redox_event to 0.4.8; use local paths for redox-ioctl and redox-rt. - Regenerate Cargo.lock / bootstrap/Cargo.lock with only local forks. - Update submodule origin from redbear-os-base.git to RedBear-OS.git branch submodule/base per single-repo policy.
22 lines
554 B
Rust
22 lines
554 B
Rust
use std::{
|
|
fs::File,
|
|
io::{self, prelude::*},
|
|
os::unix::io::{AsRawFd, FromRawFd, RawFd},
|
|
};
|
|
|
|
fn from_syscall_error(error: syscall::Error) -> io::Error {
|
|
io::Error::from_raw_os_error(error.errno as i32)
|
|
}
|
|
|
|
fn main() -> io::Result<()> {
|
|
let server = File::create("chan:hello")?;
|
|
|
|
loop {
|
|
let stream =
|
|
libredox::call::dup(server.as_raw_fd() as usize, b"listen").map_err(from_syscall_error)?;
|
|
let mut stream = unsafe { File::from_raw_fd(stream as RawFd) };
|
|
|
|
stream.write(b"Hello World!\n")?;
|
|
}
|
|
}
|