<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/io.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) 44790: [Backport #9472]</title>
<updated>2014-02-02T12:40:31+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-02T12:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9619b029fc09af7e2254378a9f1505a76fe08a25'/>
<id>9619b029fc09af7e2254378a9f1505a76fe08a25</id>
<content type='text'>
	* io.c (rb_io_syswrite): add RB_GC_GUARD
	  [Bug #9472][ruby-core:60407]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* io.c (rb_io_syswrite): add RB_GC_GUARD
	  [Bug #9472][ruby-core:60407]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 43112,43114,43117,43118: [Backport #8980]</title>
<updated>2013-10-04T17:30:50+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-10-04T17:30:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=514878d15c2be3590a73b458515037f8fe32f8c8'/>
<id>514878d15c2be3590a73b458515037f8fe32f8c8</id>
<content type='text'>
	* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to
	  fix freed pointer access when it is in use by other threads, and get
	  rid of potential memory/fd leak.

	* io.c (rb_io_close_write): detach tied IO for writing before closing
	  to get rid of race condition.  [ruby-list:49598]

	* io.c (rb_io_close_read): duplex IO should wait its child process
	  even after close_read.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to
	  fix freed pointer access when it is in use by other threads, and get
	  rid of potential memory/fd leak.

	* io.c (rb_io_close_write): detach tied IO for writing before closing
	  to get rid of race condition.  [ruby-list:49598]

	* io.c (rb_io_close_read): duplex IO should wait its child process
	  even after close_read.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 42212,42214: [Backport #8669]</title>
<updated>2013-07-28T12:58:48+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-07-28T12:58:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a728dd2584562f1bd60ae7ebf3a413793f48c167'/>
<id>a728dd2584562f1bd60ae7ebf3a413793f48c167</id>
<content type='text'>
	* string.c: add internal API rb_str_locktmp_ensure().

	* io.c (io_fread): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

	* test/ruby/test_io.rb: add a test for above.

	* io.c (io_getpartial): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

	* io.c (rb_io_sysread): ditto.

	* test/ruby/test_io.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* string.c: add internal API rb_str_locktmp_ensure().

	* io.c (io_fread): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

	* test/ruby/test_io.rb: add a test for above.

	* io.c (io_getpartial): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

	* io.c (rb_io_sysread): ditto.

	* test/ruby/test_io.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 41250: [Backport #8516]</title>
<updated>2013-06-12T14:23:39+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-06-12T14:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=63bc35ffb00b4231beeaae8f7c9b394c107cff92'/>
<id>63bc35ffb00b4231beeaae8f7c9b394c107cff92</id>
<content type='text'>
	* io.c (io_getc): fix 7bit coderange condition, check if ascii read
	  data instead of read length. [ruby-core:55444] [Bug #8516]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* io.c (io_getc): fix 7bit coderange condition, check if ascii read
	  data instead of read length. [ruby-core:55444] [Bug #8516]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40462: [Backport #8323]</title>
<updated>2013-05-01T14:52:52+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-05-01T14:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4d3df433e9c638e1824832edf8a6e87ffd2741ea'/>
<id>4d3df433e9c638e1824832edf8a6e87ffd2741ea</id>
<content type='text'>
	* io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is
	  not a real encoding name, just a fallback.  so the proper conversion
	  should take place even if if the internal encoding is equal to the
	  bom-prefixed name, unless actual encoding is equal to the internal
	  encoding.  [ruby-core:54563] [Bug #8323]

	* io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM
	  found.  [ruby-core:54569]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is
	  not a real encoding name, just a fallback.  so the proper conversion
	  should take place even if if the internal encoding is equal to the
	  bom-prefixed name, unless actual encoding is equal to the internal
	  encoding.  [ruby-core:54563] [Bug #8323]

	* io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM
	  found.  [ruby-core:54569]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39687,39776,40438: [Backport #8064]</title>
<updated>2013-04-26T17:31:33+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-26T17:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=506ee0c16033dde58d53a34876c762750598dad8'/>
<id>506ee0c16033dde58d53a34876c762750598dad8</id>
<content type='text'>
	* io.c (rb_update_max_fd): use ATOMIC_CAS because this function
	  is used from timer thread too.

	* io.c (rb_fd_fix_cloexec): use rb_update_max_fd().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* io.c (rb_update_max_fd): use ATOMIC_CAS because this function
	  is used from timer thread too.

	* io.c (rb_fd_fix_cloexec): use rb_update_max_fd().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39774: [Backport #8080]</title>
<updated>2013-03-20T13:36:23+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-20T13:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=552817e561e55ea19bd27194fc0e5dff2a7981e9'/>
<id>552817e561e55ea19bd27194fc0e5dff2a7981e9</id>
<content type='text'>
	* include/ruby/missing.h (__syscall): moved to...

	* io.c: here. because __syscall() is only used from io.c.

	* include/ruby/missing.h: move "#include &lt;sys/type.h&gt;" to ....

	* include/ruby/intern.h: here. because it was introduced for
	  fixing NFDBITS issue. [ruby-core:05179].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* include/ruby/missing.h (__syscall): moved to...

	* io.c: here. because __syscall() is only used from io.c.

	* include/ruby/missing.h: move "#include &lt;sys/type.h&gt;" to ....

	* include/ruby/intern.h: here. because it was introduced for
	  fixing NFDBITS issue. [ruby-core:05179].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39184:</title>
<updated>2013-03-02T16:46:00+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-02T16:46:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=69ac3b4db5e44857c56b1e8053a73c0e4ed89404'/>
<id>69ac3b4db5e44857c56b1e8053a73c0e4ed89404</id>
<content type='text'>
	add doc. for IO#close_on_exec=.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	add doc. for IO#close_on_exec=.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>io.c: no envp if no spawnve</title>
<updated>2013-01-15T14:07:17+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-15T14:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=330e39d5684d0b4f5b2565eaf6d991185be2ebf0'/>
<id>330e39d5684d0b4f5b2565eaf6d991185be2ebf0</id>
<content type='text'>
* io.c (pipe_open): envp is not used if only spawnv is defined right
  now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* io.c (pipe_open): envp is not used if only spawnv is defined right
  now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bootstraptest/test_io.c: add a test for [ruby-dev:46834].</title>
<updated>2013-01-06T09:48:00+00:00</updated>
<author>
<name>yugui</name>
<email>yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-06T09:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c9f5a8f3f2a18b1a2e283d29e906471dade5f3be'/>
<id>c9f5a8f3f2a18b1a2e283d29e906471dade5f3be</id>
<content type='text'>
* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
  fcntl(2) and/or F_DUPFD is unavailable.
  Suggested by akr.

* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
  fcntl(2) and/or F_DUPFD is unavailable.
  Suggested by akr.

* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).

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