Can you please expand on that, especially assuming(a big assumption) that the c code you're interfacing is high quality , with rare bugs ?
Personally I think the best way is to wrap existing C code into higher level, safer Rust APIs.
While wrapping C libraries in safer Rust APIs is useful for many application, having something as fundamental as time-sharing, task interruption, etc would be much better if written in Rust and care is taken to define simple semantics for the system (e.g. like the recent HN post regarding state-machine based asynchronous IO in Rust).
If anybody has experience with writing C macros to rust bindings I would be interested in hearing about it.
Maybe they'll be interested in funding rust development? it might give them some competitive advantage, some amount of control of a possible future platform, i.e. rust.