* [ruby-core:59856] [ruby-trunk - Feature #9427] [Open] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
@ 2014-01-18 22:46 ` normalperson
2014-01-19 1:41 ` [ruby-core:59864] [ruby-trunk - Feature #9427] " akr
` (7 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: normalperson @ 2014-01-18 22:46 UTC (permalink / raw
To: ruby-core
Issue #9427 has been reported by Eric Wong.
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427
* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:59864] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
2014-01-18 22:46 ` [ruby-core:59856] [ruby-trunk - Feature #9427] [Open] [PATCH] io.c: remove socket check for sendfile normalperson
@ 2014-01-19 1:41 ` akr
2014-01-19 2:10 ` [ruby-core:59865] " Eric Wong
2014-01-19 2:12 ` [ruby-core:59866] " normalperson
` (6 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: akr @ 2014-01-19 1:41 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Akira Tanaka.
I'm afraid that this patch cause a problem on non-Linux platfroms.
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44426
* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:59865] Re: [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
2014-01-19 1:41 ` [ruby-core:59864] [ruby-trunk - Feature #9427] " akr
@ 2014-01-19 2:10 ` Eric Wong
0 siblings, 0 replies; 13+ messages in thread
From: Eric Wong @ 2014-01-19 2:10 UTC (permalink / raw
To: Ruby developers
akr@fsij.org wrote:
> I'm afraid that this patch cause a problem on non-Linux platfroms.
Wouldn't they fail with EINVAL? FreeBSD manpage documents it as such.
Otherwise, can we keep the S_ISSOCK check and wrap with:
#if !defined(__linux__) ...
I changed the S_ISSOCK check to the macro while I was at it since it's
more readable (and we define it for compatibility anyways).
http://bogomips.org/ruby.git/patch?id=e4746063070539f6d5c7
--
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest-linux
for you to fetch changes up to e4746063070539f6d5c7216893cd2cd620d117d4:
io.c: remove socket check for sendfile on Linux (2014-01-19 02:06:46 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile on Linux
io.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:59866] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
2014-01-18 22:46 ` [ruby-core:59856] [ruby-trunk - Feature #9427] [Open] [PATCH] io.c: remove socket check for sendfile normalperson
2014-01-19 1:41 ` [ruby-core:59864] [ruby-trunk - Feature #9427] " akr
@ 2014-01-19 2:12 ` normalperson
2014-01-29 3:44 ` [ruby-core:60189] " akr
` (5 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: normalperson @ 2014-01-19 2:12 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Eric Wong.
akr@fsij.org wrote:
> I'm afraid that this patch cause a problem on non-Linux platfroms.
Wouldn't they fail with EINVAL? FreeBSD manpage documents it as such.
Otherwise, can we keep the S_ISSOCK check and wrap with:
#if !defined(__linux__) ...
I changed the S_ISSOCK check to the macro while I was at it since it's
more readable (and we define it for compatibility anyways).
http://bogomips.org/ruby.git/patch?id=e4746063070539f6d5c7
--
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest-linux
for you to fetch changes up to e4746063070539f6d5c7216893cd2cd620d117d4:
io.c: remove socket check for sendfile on Linux (2014-01-19 02:06:46 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile on Linux
io.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44427
* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60189] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (2 preceding siblings ...)
2014-01-19 2:12 ` [ruby-core:59866] " normalperson
@ 2014-01-29 3:44 ` akr
2014-01-29 9:17 ` [ruby-core:60204] " Eric Wong
2014-01-29 9:21 ` [ruby-core:60205] " normalperson
` (4 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: akr @ 2014-01-29 3:44 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Akira Tanaka.
I see. We can add a condition later if someone find a problem on non-Linux platforms.
Please commit the patch.
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44671
* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60204] Re: [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
2014-01-29 3:44 ` [ruby-core:60189] " akr
@ 2014-01-29 9:17 ` Eric Wong
0 siblings, 0 replies; 13+ messages in thread
From: Eric Wong @ 2014-01-29 9:17 UTC (permalink / raw
To: Ruby developers
Committed as r44747. Thanks for taking a look!
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60205] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (3 preceding siblings ...)
2014-01-29 3:44 ` [ruby-core:60189] " akr
@ 2014-01-29 9:21 ` normalperson
2014-01-29 22:29 ` [ruby-core:60229] [ruby-trunk - Feature #9427] [Feedback] " akr
` (3 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: normalperson @ 2014-01-29 9:21 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Eric Wong.
Committed as r44747. Thanks for taking a look!
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44688
* Author: Eric Wong
* Status: Closed
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60229] [ruby-trunk - Feature #9427] [Feedback] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (4 preceding siblings ...)
2014-01-29 9:21 ` [ruby-core:60205] " normalperson
@ 2014-01-29 22:29 ` akr
2014-01-29 23:18 ` [ruby-core:60231] " Eric Wong
2014-01-29 23:23 ` [ruby-core:60232] [ruby-trunk - Feature #9427] " normalperson
` (2 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: akr @ 2014-01-29 22:29 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Akira Tanaka.
Status changed from Closed to Feedback
It seems the patch causes problems on CentOS 5.9 (i686)
http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20140129T110302Z.diff.html.gz
+ <n>)
+An exception occurred during: before :each
+Net::FTP#putbinaryfile when resuming an existing file and the APPE command fails raises a Net::FTPTempError when the response code is 421 ERROR
+Errno::EADDRINUSE: Address already in use - bind(2) for "localhost" port 9921
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/fixtures/server.rb:<line_a>:in `initialize'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/fixtures/server.rb:<line_a>:in `new'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/fixtures/server.rb:<line_a>:in `initialize'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/shared/putbinaryfile.rb:<line_a>:in `new'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/shared/putbinaryfile.rb:<line_a>:in `block (2 levels) in <top (required)>'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/putbinaryfile_spec.rb:<line_a>:in `<top (required)>'
+ <n>)
+An exception occurred during: after :each
+Net::FTP#putbinaryfile when resuming an existing file and the APPE command fails raises a Net::FTPTempError when the response code is 421 ERROR
+IOError: closed stream
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/fixtures/server.rb:<line_a>:in `close'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/fixtures/server.rb:<line_a>:in `stop'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/shared/putbinaryfile.rb:<line_b>:in `block (2 levels) in <top (required)>'
+/home/chkbuild/build/<buildtime>/rubyspec/library/net/ftp/putbinaryfile_spec.rb:<line_a>:in `<top (required)>'
...
Any idea?
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44708
* Author: Eric Wong
* Status: Feedback
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60231] Re: [ruby-trunk - Feature #9427] [Feedback] [PATCH] io.c: remove socket check for sendfile
2014-01-29 22:29 ` [ruby-core:60229] [ruby-trunk - Feature #9427] [Feedback] " akr
@ 2014-01-29 23:18 ` Eric Wong
2014-01-30 0:13 ` [ruby-core:60234] " Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Eric Wong @ 2014-01-29 23:18 UTC (permalink / raw
To: Ruby developers
Looking into it.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60232] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (5 preceding siblings ...)
2014-01-29 22:29 ` [ruby-core:60229] [ruby-trunk - Feature #9427] [Feedback] " akr
@ 2014-01-29 23:23 ` normalperson
2014-01-30 0:22 ` [ruby-core:60235] " normalperson
2014-02-03 14:50 ` [ruby-core:60424] [ruby-trunk - Feature #9427] [Closed] " akr
8 siblings, 0 replies; 13+ messages in thread
From: normalperson @ 2014-01-29 23:23 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Eric Wong.
Looking into it.
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44710
* Author: Eric Wong
* Status: Feedback
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60234] Re: [ruby-trunk - Feature #9427] [Feedback] [PATCH] io.c: remove socket check for sendfile
2014-01-29 23:18 ` [ruby-core:60231] " Eric Wong
@ 2014-01-30 0:13 ` Eric Wong
0 siblings, 0 replies; 13+ messages in thread
From: Eric Wong @ 2014-01-30 0:13 UTC (permalink / raw
To: Ruby developers
I think the EADDRINUSE was due to other problems, and it looks like the
chkbuild is passing w/o other changes:
http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20140129T230301Z.log.html.gz
nobu made r44750 which only affects non-Linux, and I just had rubyspec
pass cleanly on an old x86_64 CentOS 5.4. My only test-all failure was
TestException#test_machine_stackoverflow_by_define_method
(infinite recursion not detected)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60235] [ruby-trunk - Feature #9427] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (6 preceding siblings ...)
2014-01-29 23:23 ` [ruby-core:60232] [ruby-trunk - Feature #9427] " normalperson
@ 2014-01-30 0:22 ` normalperson
2014-02-03 14:50 ` [ruby-core:60424] [ruby-trunk - Feature #9427] [Closed] " akr
8 siblings, 0 replies; 13+ messages in thread
From: normalperson @ 2014-01-30 0:22 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Eric Wong.
I think the EADDRINUSE was due to other problems, and it looks like the
chkbuild is passing w/o other changes:
http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20140129T230301Z.log.html.gz
nobu made r44750 which only affects non-Linux, and I just had rubyspec
pass cleanly on an old x86_64 CentOS 5.4. My only test-all failure was
TestException#test_machine_stackoverflow_by_define_method
(infinite recursion not detected)
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44712
* Author: Eric Wong
* Status: Feedback
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ruby-core:60424] [ruby-trunk - Feature #9427] [Closed] [PATCH] io.c: remove socket check for sendfile
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
` (7 preceding siblings ...)
2014-01-30 0:22 ` [ruby-core:60235] " normalperson
@ 2014-02-03 14:50 ` akr
8 siblings, 0 replies; 13+ messages in thread
From: akr @ 2014-02-03 14:50 UTC (permalink / raw
To: ruby-core
Issue #9427 has been updated by Akira Tanaka.
Status changed from Feedback to Closed
I see. It seems that the problems are sporadic.
----------------------------------------
Feature #9427: [PATCH] io.c: remove socket check for sendfile
https://bugs.ruby-lang.org/issues/9427#change-44895
* Author: Eric Wong
* Status: Closed
* Priority: Normal
* Assignee: Akira Tanaka
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Linux uses splice internally for sendfile since 2.6.23, allowing
sendfile to work for arbitrary destinations.
We gracefully handle EINVAL/ENOSYS from sendfile anyways,
so we will hit the old fallback to read/write if the system
cannot perform sendfile to non-sockets.
Verified using strace on the following one line script:
IO.copy_stream(__FILE__, "/dev/null")
----------------------------------------------------------------
The following changes since commit 971ef822679dfa6ee63ff83a47b4e4d1aa60d146:
* ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] (2014-01-18 14:13:22 +0000)
are available in the git repository at:
git://80x24.org/ruby.git sendfile-anydest
for you to fetch changes up to 01fdf26d720a21820f4f51fade5f8b156948403b:
io.c: remove socket check for sendfile (2014-01-18 22:27:17 +0000)
----------------------------------------------------------------
Eric Wong (1):
io.c: remove socket check for sendfile
io.c | 2 --
1 file changed, 2 deletions(-)
---Files--------------------------------
0001-io.c-remove-socket-check-for-sendfile.patch (908 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-02-03 15:03 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <redmine.issue-9427.20140118224635@ruby-lang.org>
2014-01-18 22:46 ` [ruby-core:59856] [ruby-trunk - Feature #9427] [Open] [PATCH] io.c: remove socket check for sendfile normalperson
2014-01-19 1:41 ` [ruby-core:59864] [ruby-trunk - Feature #9427] " akr
2014-01-19 2:10 ` [ruby-core:59865] " Eric Wong
2014-01-19 2:12 ` [ruby-core:59866] " normalperson
2014-01-29 3:44 ` [ruby-core:60189] " akr
2014-01-29 9:17 ` [ruby-core:60204] " Eric Wong
2014-01-29 9:21 ` [ruby-core:60205] " normalperson
2014-01-29 22:29 ` [ruby-core:60229] [ruby-trunk - Feature #9427] [Feedback] " akr
2014-01-29 23:18 ` [ruby-core:60231] " Eric Wong
2014-01-30 0:13 ` [ruby-core:60234] " Eric Wong
2014-01-29 23:23 ` [ruby-core:60232] [ruby-trunk - Feature #9427] " normalperson
2014-01-30 0:22 ` [ruby-core:60235] " normalperson
2014-02-03 14:50 ` [ruby-core:60424] [ruby-trunk - Feature #9427] [Closed] " akr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).