Hacker News new | ask | show | jobs
by elteto 2306 days ago
It definitely is not orthogonal. Suppose an OS thread goes into an infinite loop. How do you cleanly stop it (feel free to assume Linux/Windows/MacOS)?. In Erlang this is possible because of the custom threading implementation.
4 comments

In Erlang that's possible because the program runs in a VM. Erlang could do the same with 1:1 and m:1 threading.
It's because of the vm interpreter that calls into the scheduler within loop iterations. Nothing to do with threads.
> How do you cleanly stop it

The JVM manages this - there are many options:

- reading a flag - patching the running - changing memory protection and causing a segfault

> Suppose an OS thread goes into an infinite loop. How do you cleanly stop it (feel free to assume Linux/Windows/MacOS)?

ptrace it?