Skip to content
Commits on Oct 29, 2011
  1. @nobu

    * thread_pthread.h: no Structured Exception Handling like macros.

    nobu committed
      [ruby-core:40432] [Bug #5491]
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jun 27, 2011
  1. @kosaki

    * thread_pthread.h (rb_global_vm_lock_struct): add volatile to

    kosaki committed
      gvl->waiting. now thread_timer() access it w/o lock.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jun 16, 2011
  1. @ko1

    * thread_pthread.c, thread_pthread.h: remove unused variables.

    ko1 committed
      (native_thread_data_t::gvl_cond, native_thread_data_t::gvl_next)
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jun 14, 2011
  1. @kosaki

    * thread_pthread.c (gvl_yield): fix live lock issue on 1-2 cpus

    kosaki committed
      system. It's additional fix for r32021.
    * thread_pthread.c (gvl_init): add switch_wait_cond.
    * thread_pthread.h (typedef struct rb_global_vm_lock_struct): ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jun 13, 2011
  1. @kosaki

    * thread_pthread.c: rewrite GVL completely.

    kosaki committed
    * thread_win32.c: ditto.
    * thread_pthread.h: ditto.
    * vm_core.h: ditto.
    * thread.c: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on May 7, 2011
  1. @nobu

    * thread_pthread.c (USE_MONOTONIC_COND): check the availability

    nobu committed
      more strictly.
    * thread_pthread.h (rb_thread_cond_t): ditto.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on May 6, 2011
  1. @kosaki

    * thread_pthread.h (rb_thread_cond_t): add clockid field. it's

    kosaki committed
      no longer an alias of pthread_cond_t.
    * thread_pthread.c: adapt new rb_thread_cond_t type.
    * thread.c (mutex_alloc): ditto.
    * thread_win32.c (native_cond_initialize): ditto.
    * configure.in: add check for pthread_cond_attr_setclock() and
      clockid_t type.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Nov 27, 2010
  1. @ko1

    * thread.c, vm_core.h: make gvl_acquire/release/init/destruct

    ko1 committed
      APIs to modularize GVL implementation.
    * thread_pthread.c, thread_pthread.h: Two GVL implementations.
      (1) Simple locking GVL which is same as existing GVL.
      (2) Wake-up queued threads.  The wake-up order is simple FIFO.
      (We can make several queues to support exact priorities, however
      this causes some issues such as priority inversion and so on.)
      This impl. prevents spin-loop (*1) caused on SMP environemnts.
      *1: Only one Ruby thread acqures GVL again and again.
      Bug #2359 [ruby-core:26694]
    * thread_win32.c, thread_win32.h: Using simple lock
      not by CRITICAL_SECTION but by Mutex.
      Bug #3890 [ruby-dev:42315]
    * vm.c (ruby_vm_destruct): ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Feb 4, 2010
  1. @nurse

    * thread_pthread.c (native_thread_init_stack): use get_stack.

    nurse committed
      patched by KOSAKI Motohiro [ruby-dev:40309]
    
    * thread_pthread.c (ruby_init_stack): use get_stack
      on platforms which have pthread_attr_get_np.
      (FreeBSD, DragonFlyBSD and NetBSD)
      This is because FreeBSD and DragonFly BSD must use
      pthread_attr_get_np to get stack size of main thread,
      but Mac OS X and Linux with LinuxThreads must use getrlimit.
      <http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html>
      <http://d.hatena.ne.jp/nurse/20100204>
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jan 18, 2008
  1. @nobu

    * eval_intern.h, insnhelper.h, thread_pthread.h, vm_core.h, vm_opts.h:

    nobu committed
      prefixed include guards with RUBY.
    
    * id.h: added include guard.
    
    * regenc.h, regint.h, regparse.h: prefixed include guards with
      ONIGURUMA.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Jan 6, 2008
  1. @akr

    * $Date$ keyword removed to avoid inclusion of locale dependent

    akr committed
      string.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Dec 25, 2007
  1. @ko1

    * thread_pthread.c, thread_pthread.h, thread_win32.c,

    ko1 committed
      thread_win32.c: make some functions static functions.
      a patch from Tadashi Saito <shiba AT mail2.accsnet.ne.jp>
      in [ruby-core:14407]
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Nov 13, 2007
  1. @ko1

    * blockinlining.c, compile.c, compile.h, debug.c, debug.h,

    ko1 committed
      id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci,
      thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h,
      vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and
      copyright year.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Aug 27, 2007
  1. @ko1

    * thread.c: fix Mutex to be interruptable lock.

    ko1 committed
    * thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:
      prepare native_cond_*() which are based on pthread_cond_*() spec.
    * prelude.rb: fix Mutex#synchronize method.
    * vm_core.h, include/ruby/intern.h: change unblock function interface
      (to pass some user data).
    * file.c, process.c: ditto.
    * benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.
    * benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex
      with contension.
    * benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.
    * test/ruby/test_thread.rb: add a test.
    * common.mk: fix benchmark options.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Feb 8, 2007
  1. @ko1

    * thread.c, thread_pthread.ci, thread_win32.ci (thread_start_func_1):

    ko1 committed
      move cleanup function to thread_start_func_2().
    * thread.c, thread_pthread.ci, thread_win32.ci:
      add more destruct functions.
      (native_thread_destroy() and native_mutex_destroy())
    * thread_pthread.ci, thread_pthread.h: make native_mutex_* functions
      (check error, etc), it's not macro any more.
    * thread_win32.ci (thread_start_func_1): store some values before
      running thread (to release these after running thread).
    * thread_win32.ci (native_thread_create): fix spaces.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Feb 6, 2007
  1. @ko1

    * blockinlining.c, compile.c, compile.h, error.c, eval.c,

    ko1 committed
      eval_intern.h, eval_jump.h, eval_load.c, eval_method.h,
      eval_safe.h, gc.c, insnhelper.h, insns.def, iseq.c, proc.c,
      process.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci,
      vm.c, vm.h, vm_dump.c, vm_evalbody.ci, vm_macro.def,
      yarv.h, yarvcore.h, yarvcore.c: change type and macro names:
      * yarv_*_t -> rb_*_t
      * yarv_*_struct -> rb_*_struct
      * yarv_tag -> rb_vm_tag
      * YARV_* -> RUBY_VM_*
    * proc.c, vm.c: move functions about env object creation
      from proc.c to vm.c.
    * proc.c, yarvcore.c: fix rb_cVM initialization place.
    * inits.c: change Init_ISeq() order (after Init_VM).
    * ruby.h, proc.c: change declaration place of rb_cEnv
      from proc.c to ruby.c.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Commits on Dec 31, 2006
  1. @ko1

    * Merge YARV

    ko1 committed
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Something went wrong with that request. Please try again.