
| Key: |
RVM-752
|
| Type: |
Sub-task
|
| Status: |
Closed
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
Filip Pizlo
|
| Reporter: |
Ian Rogers
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
CreateVM is a routine in libvm.c that is responsible for starting the VM, it takes an argument as to whether to create the VM on a separate thread or not. On IA32 this argument is ignored. On PowerPC it is taken. The Intel createVM code with native threads always keeps the primordial thread alive, whereas the PowerPC code that starts the VM on a separate thread only keeps it alive as long as the boot thread hasn't reached boot completed. We should have a coherent story on what this code is doing.
|
|
Description
|
CreateVM is a routine in libvm.c that is responsible for starting the VM, it takes an argument as to whether to create the VM on a separate thread or not. On IA32 this argument is ignored. On PowerPC it is taken. The Intel createVM code with native threads always keeps the primordial thread alive, whereas the PowerPC code that starts the VM on a separate thread only keeps it alive as long as the boot thread hasn't reached boot completed. We should have a coherent story on what this code is doing. |
Show » |
Sort Order:
|
On IA32/Linux we keep the primordial thread alive in a bizarre way because on some versions of Linux's pthreads, if the main() thread dies, the process dies with it.