> > The big issue here then is really that rust tasks can be pre-empted, and > therefore you can't guarantee that *any* function is free from blocking > (which means you can't assign it a large stack, since it may go to sleep > while holding it). IMO co-operative tasks (by default) is worth considering > as a solution here. >
re Co operative tasks , I have bad memories of 3.X apps which could lock the whole OS/GUI when in a tight loop ? Certainly not a solution for single core systems , even on dual system it can be an issue. On quad+ there is some merit but history has shown every addin /lib will use as many resources as they can ( eg flash add animations ) and not yield willingly. It can be done but you need to check tasks with a schedule service task and if they dont behave pre-empt / reduce priority. Ben
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
