<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/thread_pthread.h, branch v2_0_0_rc1</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>* thread_pthread.h: no Structured Exception Handling like macros.</title>
<updated>2011-10-29T00:05:11+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-10-29T00:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2fd8753bde9c7c190cbd91adfb331da4f13e932d'/>
<id>2fd8753bde9c7c190cbd91adfb331da4f13e932d</id>
<content type='text'>
  [ruby-core:40432] [Bug #5491]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  [ruby-core:40432] [Bug #5491]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.h (rb_global_vm_lock_struct): add volatile to</title>
<updated>2011-06-27T12:59:08+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-06-27T12:59:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d647b5358ed5c7f07b3aa500b40297568a882975'/>
<id>d647b5358ed5c7f07b3aa500b40297568a882975</id>
<content type='text'>
  gvl-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  gvl-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c, thread_pthread.h: remove unused variables.</title>
<updated>2011-06-16T19:52:54+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-06-16T19:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=772a2811923e1634ff7c157abdc9b41740659af6'/>
<id>772a2811923e1634ff7c157abdc9b41740659af6</id>
<content type='text'>
  (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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  (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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (gvl_yield): fix live lock issue on 1-2 cpus</title>
<updated>2011-06-14T16:31:23+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-06-14T16:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=82e6d95edc047cf39ac3e3c5f388c5624a35d77a'/>
<id>82e6d95edc047cf39ac3e3c5f388c5624a35d77a</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c: rewrite GVL completely.</title>
<updated>2011-06-13T14:14:53+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-06-13T14:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bcfc22b10e30771e692f7716a1fec7577373963e'/>
<id>bcfc22b10e30771e692f7716a1fec7577373963e</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (USE_MONOTONIC_COND): check the availability</title>
<updated>2011-05-07T09:28:43+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-05-07T09:28:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1bd2c78b05b05f7868cd3b5bfc1e02ae11fb9eaf'/>
<id>1bd2c78b05b05f7868cd3b5bfc1e02ae11fb9eaf</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.h (rb_thread_cond_t): add clockid field. it's</title>
<updated>2011-05-06T16:47:38+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-05-06T16:47:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a1cfaf4b1f199d078f5168dcbc37a83250666ed4'/>
<id>a1cfaf4b1f199d078f5168dcbc37a83250666ed4</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread.c, vm_core.h: make gvl_acquire/release/init/destruct</title>
<updated>2010-11-27T20:15:59+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2010-11-27T20:15:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=450463d5fbc7098666c1405b5ea1ece4c8dd04a5'/>
<id>450463d5fbc7098666c1405b5ea1ece4c8dd04a5</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (native_thread_init_stack): use get_stack.</title>
<updated>2010-02-04T07:17:03+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2010-02-04T07:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b323b86b6b3a7283617b72b45521c554dba930c9'/>
<id>b323b86b6b3a7283617b72b45521c554dba930c9</id>
<content type='text'>
  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.
  &lt;http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html&gt;
  &lt;http://d.hatena.ne.jp/nurse/20100204&gt;

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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.
  &lt;http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html&gt;
  &lt;http://d.hatena.ne.jp/nurse/20100204&gt;

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* eval_intern.h, insnhelper.h, thread_pthread.h, vm_core.h, vm_opts.h:</title>
<updated>2008-01-18T08:56:11+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2008-01-18T08:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8a9993dfee20296431ac49ec48860c89160835c1'/>
<id>8a9993dfee20296431ac49ec48860c89160835c1</id>
<content type='text'>
  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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  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
</pre>
</div>
</content>
</entry>
</feed>
