ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [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).