Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rubinius/rubinius
base: eb7706780f46
Choose a base ref
...
head repository: rubinius/rubinius
compare: 14b60c279a90
Choose a head ref
  • 3 commits
  • 18 files changed
  • 1 contributor

Commits on Jul 14, 2015

  1. Copy the full SHA
    ffcd899 View commit details
    Browse the repository at this point in the history
  2. Reworked halting the system.

    This is the first step of a much refactor to introduce a proper System object
    instead of hanging all the process boot and halt logic off the Environment
    object. A lot of boot and halt code can then be cleaned up (eg creating and
    initializing the object space, loading the kernel code, etc).
    
    The main process thread (the one the OS creates when the process is first
    created) now boots the system and spawns a thread to start running Ruby code.
    The main thread goes on to process signals and halting the process. This is
    the only thread that processes halt code.
    
    When the process forks, a new thread is created to process signals and
    halting. In the future, fork() and exec() will be disallowed on all internal
    threads and only allowed on threads running Ruby code.
    brixen committed Jul 14, 2015
    Copy the full SHA
    5cd5e88 View commit details
    Browse the repository at this point in the history
  3. Smash another racey process spec.

    There is no way to guarantee that the `Process.exit` from the thread completes
    before the `Process.exit` in the main thread. That's not how actual threads
    with no global interpreter lock work.
    brixen committed Jul 14, 2015
    Copy the full SHA
    14b60c2 View commit details
    Browse the repository at this point in the history