<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/thread_pthread.c, branch v2_0_0_451</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) r44670,r44671,r44673,r44675: [Backport #8783]</title>
<updated>2014-02-16T16:07:08+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-16T16:07:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b8cab3fc3b2ba2208aed9620fc46c58f09ab40ac'/>
<id>b8cab3fc3b2ba2208aed9620fc46c58f09ab40ac</id>
<content type='text'>
	thread_pthread.c: timer thread stack size

	* thread_pthread.c (rb_thread_create_timer_thread): define the stack
  size for timer thread at compile time.
	* thread_pthread.c (rb_thread_create_timer_thread): expand timer
	  thread stack size to get rid of segfault on FreeBSD/powerpc64.
	  based on the patch by Steve Wills at [ruby-core:59923].
	  [ruby-core:56590] [Bug #8783]

	* thread_pthread.c (rb_thread_create_timer_thread): fix for platforms
	  where PTHREAD_STACK_MIN is a dynamic value and not a compile-time
	  constant.  [ruby-dev:47911] [Bug #9436]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	thread_pthread.c: timer thread stack size

	* thread_pthread.c (rb_thread_create_timer_thread): define the stack
  size for timer thread at compile time.
	* thread_pthread.c (rb_thread_create_timer_thread): expand timer
	  thread stack size to get rid of segfault on FreeBSD/powerpc64.
	  based on the patch by Steve Wills at [ruby-core:59923].
	  [ruby-core:56590] [Bug #8783]

	* thread_pthread.c (rb_thread_create_timer_thread): fix for platforms
	  where PTHREAD_STACK_MIN is a dynamic value and not a compile-time
	  constant.  [ruby-dev:47911] [Bug #9436]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40498:</title>
<updated>2013-05-01T15:40:57+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-05-01T15:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5362d2e2cb0c54c098fd2ff2f5cd0c2a2434ecb7'/>
<id>5362d2e2cb0c54c098fd2ff2f5cd0c2a2434ecb7</id>
<content type='text'>
	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
	  This fixes a compilation failure while cross-compiling for Tensilica
	  Xtensa Processor.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
	  This fixes a compilation failure while cross-compiling for Tensilica
	  Xtensa Processor.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40476: [Backport #8332]</title>
<updated>2013-04-26T14:49:26+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-26T14:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a2ac434a0700d5bd08bf213b4ede09899330f9df'/>
<id>a2ac434a0700d5bd08bf213b4ede09899330f9df</id>
<content type='text'>
	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
	  This fixes a compilation failure while cross-compiling for ARM.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
	  This fixes a compilation failure while cross-compiling for ARM.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40102: [Backport #8234]</title>
<updated>2013-04-19T17:03:11+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-19T17:03:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6ba7e6cc60842d6aff6229c117c2aa6b0fe2cb9f'/>
<id>6ba7e6cc60842d6aff6229c117c2aa6b0fe2cb9f</id>
<content type='text'>
	* thread_pthread.c (ruby_init_stack): Avoid using uninitialized value.
	  stackaddr and size are not set if get_stack() fails.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c (ruby_init_stack): Avoid using uninitialized value.
	  stackaddr and size are not set if get_stack() fails.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40103: [Backport #8235]</title>
<updated>2013-04-19T16:54:51+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-19T16:54:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7e970d34ed2c34c67b3fd29ea19d745bda730a4d'/>
<id>7e970d34ed2c34c67b3fd29ea19d745bda730a4d</id>
<content type='text'>
	* thread_pthread.c: Fixes wrong scopes of #if USE_SLEEPY_TIMER_THREAD
	  .. #endif sections.  This fixes a build error on NativeClient.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c: Fixes wrong scopes of #if USE_SLEEPY_TIMER_THREAD
	  .. #endif sections.  This fixes a build error on NativeClient.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39772,39773: [Backport #8080]</title>
<updated>2013-03-20T13:34:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-20T13:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ccb9fb0b26fa8fed9320a0b2e0ca86202dd4b3de'/>
<id>ccb9fb0b26fa8fed9320a0b2e0ca86202dd4b3de</id>
<content type='text'>
	* configure.in: check struct timeval exist or not.

	* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
	  properly. and don't include sys/time.h if struct timeval exist.

	* file.c: include sys/time.h explicitly.

	* random.c: ditto.

	* thread_pthread.c: ditto.

	* time.c: ditto.

	* ext/date/date_strftime.c: ditto.

	* include/ruby/missing.h (struct timespec): include &lt;sys/time.h&gt;


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* configure.in: check struct timeval exist or not.

	* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
	  properly. and don't include sys/time.h if struct timeval exist.

	* file.c: include sys/time.h explicitly.

	* random.c: ditto.

	* thread_pthread.c: ditto.

	* time.c: ditto.

	* ext/date/date_strftime.c: ditto.

	* include/ruby/missing.h (struct timespec): include &lt;sys/time.h&gt;


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39679,39682,39683,39685,39686,39694: [Backport #7999]</title>
<updated>2013-03-11T15:54:49+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-11T15:54:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6901ebcb7ceddb125d28490577afb19c06f5fc40'/>
<id>6901ebcb7ceddb125d28490577afb19c06f5fc40</id>
<content type='text'>
	* thread_pthread.c (set_nonblock): new helper function for set
	  O_NONBLOCK.

	* thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK
	  to timer_thread_pipe[0] too.

	* thread_pthread.c (consume_communication_pipe): retry when
	  read returned CCP_READ_BUFF_SIZE.

	* thread_pthread.c (rb_thread_create_timer_thread): factor out
	  creating communication pipe logic into separate function.

	* thread_pthread.c (setup_communication_pipe): new helper function.

	* thread_pthread.c (set_nonblock): moves a definition before
	  setup_communication_pipe.

	* thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd
	  argument and remove hardcoded dependency of timer_thread_pipe[1].

	* thread_pthread.c (consume_communication_pipe): add fd argument.

	* thread_pthread.c (close_communication_pipe): ditto.

	* thread_pthread.c (timer_thread_sleep): adjust the above changes.

	* thread_pthread.c (setup_communication_pipe_internal): factor
	  out pipe initialize logic.

	* thread_pthread.c (ARRAY_SIZE): new.

	* thread_pthread.c (gvl_acquire_common): use low priority
	  notification for avoiding timer thread interval confusion.
	  If we use timer_thread_pipe[1], every gvl_yield() request
	  one more gvl_yield(). It lead to thread starvation.
	  [Bug #7999] [ruby-core:53095]

	* thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low
	  to reserved fds.

	* process.c (setup_communication_pipe): remove unused function.
	  it was unintentionally added r39683.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c (set_nonblock): new helper function for set
	  O_NONBLOCK.

	* thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK
	  to timer_thread_pipe[0] too.

	* thread_pthread.c (consume_communication_pipe): retry when
	  read returned CCP_READ_BUFF_SIZE.

	* thread_pthread.c (rb_thread_create_timer_thread): factor out
	  creating communication pipe logic into separate function.

	* thread_pthread.c (setup_communication_pipe): new helper function.

	* thread_pthread.c (set_nonblock): moves a definition before
	  setup_communication_pipe.

	* thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd
	  argument and remove hardcoded dependency of timer_thread_pipe[1].

	* thread_pthread.c (consume_communication_pipe): add fd argument.

	* thread_pthread.c (close_communication_pipe): ditto.

	* thread_pthread.c (timer_thread_sleep): adjust the above changes.

	* thread_pthread.c (setup_communication_pipe_internal): factor
	  out pipe initialize logic.

	* thread_pthread.c (ARRAY_SIZE): new.

	* thread_pthread.c (gvl_acquire_common): use low priority
	  notification for avoiding timer thread interval confusion.
	  If we use timer_thread_pipe[1], every gvl_yield() request
	  one more gvl_yield(). It lead to thread starvation.
	  [Bug #7999] [ruby-core:53095]

	* thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low
	  to reserved fds.

	* process.c (setup_communication_pipe): remove unused function.
	  it was unintentionally added r39683.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39680,39681: [Backport #8063]</title>
<updated>2013-03-11T15:51:44+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-11T15:51:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c98f39af775058dfc39e9f14fb0557e887efbba5'/>
<id>c98f39af775058dfc39e9f14fb0557e887efbba5</id>
<content type='text'>
	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate
	  ifdef condtions.

	* thread_pthread.c (timer_thread_sleep): use poll() instead of
	  select(). select doesn't work if timer_thread_pipe[0] is
	  greater than FD_SETSIZE.

	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency
	  against poll.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate
	  ifdef condtions.

	* thread_pthread.c (timer_thread_sleep): use poll() instead of
	  select(). select doesn't work if timer_thread_pipe[0] is
	  greater than FD_SETSIZE.

	* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency
	  against poll.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (ruby_init_stack): ignore `STACK_END_ADDRESS'</title>
<updated>2013-01-23T04:39:02+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-23T04:39:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e5481ccd8e6470b05d0c8a202103dc307c4aa25f'/>
<id>e5481ccd8e6470b05d0c8a202103dc307c4aa25f</id>
<content type='text'>
  if Ruby interpreter is running on co-routine.
  [Feature #2294]
  https://bugs.ruby-lang.org/issues/2294#note-18



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  if Ruby interpreter is running on co-routine.
  [Feature #2294]
  https://bugs.ruby-lang.org/issues/2294#note-18



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (gvl_init): Reset gvl.wait_yield explicitly when</title>
<updated>2013-01-15T00:32:23+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-15T00:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e32ce1868f62070663a13813b132a2bb0cf5f147'/>
<id>e32ce1868f62070663a13813b132a2bb0cf5f147</id>
<content type='text'>
  fork()ing. Patch by Apollon Oikonomopoulos. Thanks!
  [Bug #7693][ruby-core:51424]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  fork()ing. Patch by Apollon Oikonomopoulos. Thanks!
  [Bug #7693][ruby-core:51424]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
