In this way, we can avoid relying on subprocesses and instead use threads (or, technically, asynchronous tasks) in Rust. Threads/tasks are much easier to manage
I believe, in their case cancelling a sync operation will not be a problem because they will not forever block on executing user-provided code, but cancelling a synchronous thread is not easy, afaik
Available on Unix only.
Only kills the thread if it has enabled cancellation
I mean, they will probably set it up correctly to be able to use it
Apparently, Wikifunctions is a place to define e.g. mathematical formulas, so that they can be executed ad-hoc to provide insights about common questions.
Certainly makes sense to run those functions sandboxed in WebAssembly, since the function code is user-provided.
And then, yeah, I can imagine the process management making up a good amount of the complexity of their backend code…



