Files
RedBear-OS/netstack
vasilito 4b27b51d59 netstack: round 18 partial — fix 4 of 32 build errors
The recent CORE-C12 worker-pool work landed in commits that no longer
compile against current Rust 2024 edition and the relibc fork's
exposed-libc surface. This commit fixes the four blockers that
prevent base from linking at all:

1. netcfg/mod.rs:195 — 'eth0' undefined. The DEFAULT_IFACE
   centralization commit (9d8ad861) replaced all literal 'eth0'
   paths except this one in the 'summary' ro handler. Replace with
    so the route now uses the canonical
   constant.

2. scheme_pool.rs:125 — E0507 .
   JoinHandle::join takes self by value, but Drop impl was calling
   &self.handle.join(). Wrap handle in Option<JoinHandle<()>> and
   use Option::take() in Drop so we get an owned handle to join.

3. scheme_pool.rs:185 — E0521 . SchemeWork::new required &'static str but submit
   takes &str. Change scheme_name field to Cow<'static, str> and
   accept impl Into<Cow<'static, str>> for the constructor so both
   static and borrowed strings work.

4. scheme_pool_init.rs — DELETE. The 'register_all' helper was
   dead code (never called from production). Its closures captured
   Arc<Mutex<Smolnetd>> but Smolnetd contains Rc<RefCell<...>>,
   raw pointers (*const [TimeSpec]), and dyn NodeWriter — none of
   which are Send. The Smolnetd struct is intentionally
   single-threaded; the worker-pool code that would justify
   moving it across threads was never completed (CORE-C12 fix
   remains half-done). Remove the file and the mod declaration
   in main.rs to drop all 17 Send-violation errors that originated
   from this single file.

5. scheme/tcp.rs:66 — libc::MSG_NOSIGNAL is not exposed by
   relibc on Redox. Define a local MSG_NOSIGNAL: u16 = 0x4000
   (POSIX value) with a docstring explaining the rationale.

Remaining errors after this commit:
- E0425: cannot find type CallerCtx (scheme/tcp.rs:52) — needs

- E0425: cannot find type SocketCall — needs an import
- E0599/E0369: Result<usize, SendError> not handled correctly in
  send path
- E0308: a few mismatched-type sites

These will be addressed in a follow-up commit.
2026-07-28 06:31:06 +09:00
..