3 ms·
The bigger problem is growable stacks. It’s true you can suspend a stack and then continue as long as your implementation doesn’t ever move it. I didn’t really
by withoutboats3 3y ago
The bigger problem is growable stacks. It’s true you can suspend a stack and then continue as long as your implementation doesn’t ever move it. I didn’t really dwell on this because I wrote more about it in “Why async Rust?”
And you’re right that the mutex in the kernel is implemented with a similar algorithm - I just meant that the code in the library you’re using is very different, because it is a relatively thin wrapper around the relevant syscalls whereas the async one is implemented in userspace.