Commits on Jul 2, 2012
  1. Correctly spec rb_str_new_cstr as 1.9-only CAPI

    Currently, rb_str_new_cstr is spec'ed as a function available under both 1.8
    CAPI and 1.9 CAPI in spec/ruby/optional/capi/ext/rubyspec.h. This is not true.
    As a version guard is correctly used in spec/ruby/optional/capi/string_spec.rb,
    it is only declared under 1.9 CAPI, not under 1.8 CAPI.
    In 1.8 mode, rb_str_new_cstr specs are only compiled, not run, thanks to the
    version guard. So, there is no spec failures. However, this commit suppresses
    the following warning from clang:
      spec/ruby/optional/capi/ext/string_spec.c:165:12: warning:
        implicit declaration of function 'rb_str_new_cstr' is invalid in C99
          return rb_str_new_cstr(NULL);
      1 warning generated.
    Also, #undefs aren't needed in spec/ruby/optional/capi/ext/mri.h, because
    rb_str_new_cstr is now correctly declared only in 1.9 CAPI.
    committed Jul 2, 2012
Commits on Jul 1, 2012
  1. Fix Autoload handling by properly reusing the current scope

    In the Autoload parts in the VM we now do the lookup again so it's much
    easier to do it with the correct current scope and we follow the same
    lookup mechanisms as a normal constant lookup.
    For this we modify the Helpers for const_get so it can filter a result
    so the autoload is filtered and the real class or a class with the same
    name higher in the hierarchy is returned.
    dbussink committed Jul 1, 2012
Commits on Jun 30, 2012
  1. Add slots for autoload object

    dbussink committed Jun 30, 2012
  2. Add tags for failing specs

    dbussink committed Jun 30, 2012
  3. Revert "Use the referring scope for lookup in Autoload"

    This reverts commit 2106625.
    This has more consequences that take a lot more effort to fix. If we
    want to fix this behavior we probably have to review how autoload works
    and change it more invasively.
    dbussink committed Jun 30, 2012
  4. Use the referring scope for lookup in Autoload

    This fixes cases where this scope is different from the scope where the
    autoload is defined.
    dbussink committed Jun 30, 2012
Commits on Jun 29, 2012
  1. Merge pull request #1789 from voxik/simplify-mkmf

    Remove unnecessary CAPI version check from mkmf.rb's.
    rue committed Jun 29, 2012
  2. Simplify mkmf.rb.

    There is no need to check for CAPI version in mkmf.rb, since Rubinius already
    loaded mkmf.rb from version dependent location.
    voxik committed Jun 29, 2012
Commits on Jun 28, 2012
  1. Fix wrong conditional

    dbussink committed Jun 28, 2012
  2. No need for explicit state flag

    In the SignalHandler we also don't use an explicit flag to keep track of
    whether a thread is running so don't do it here either for consistency.
    dbussink committed Jun 28, 2012
  3. Properly lock around signal handler thread

    This problem could cause multiple signal handling threads. When multiple
    threads were exec'ing, they would all request starting and stopping the
    signal thread. Because we weren't locking this properly, it could happen
    that two signal threads were starting which causes all kinds of other
    problems such as deadlocking.
    dbussink committed Jun 28, 2012
  4. Fix deadlock when running exec() from multiple threads

    When multiple threads would be running sub processes with for example
    backticks, they could deadlock. The guard makes sure we mark the
    before_exec handling as gc independent so we don't deadlock.
    dbussink committed Jun 28, 2012
Commits on Jun 27, 2012
  1. Updated CI tags.

    brixen committed Jun 27, 2012
  2. Load rubygems in 2.0 mode.

    brixen committed Jun 27, 2012
  3. Fixed Zlib issue on 1.9.

    The fix for 1.9 works in 1.8 mode as well because
    1. the test should have used ?0
    2. there is no need to convert an integer to a string for #<<
    But I'm splitting the files anyway because there are encoding
    related changes needed for 1.9.
    brixen committed Jun 27, 2012
  4. Update CI tags for 2.0 mode.

    brixen committed Jun 26, 2012
Commits on Jun 26, 2012
  1. Fixed booting 2.0 mode.

    brixen committed Jun 26, 2012
  2. Avoid handling signal twice in Process.kill specs.

    The Mutex added in 5718738 fixes the race condition but loses the ability to
    ensure that the signal handler only runs once. Once the mutex unlocks, the
    handler code can interrupt the code implementing Process.exit! and print
    'signaled' again.  We first lock the mutex, then check the flag. This ensures
    there is no race and the correct value of the flag is always seen. The flag
    itself ensures the handler only runs once.
    brixen committed Jun 26, 2012
  3. Try adding Agent to CI again.

    brixen committed Jun 26, 2012
Commits on Jun 24, 2012
  1. Revert "Make Hash#each_item private"

    This reverts commit ad0ff8d.
    As @brixen and @evanphx suggested on #1730 we should use #each_item
    where it was used before.
    carlosgaldino committed Jun 24, 2012
  2. Fix a race condition in the code loader

    Fixes #1768
    dbussink committed Jun 24, 2012