mirror of
https://github.com/ruby/ruby.git
synced 2025-09-17 01:23:57 +02:00
* io.c (simple_sendfile): don't try to send data more than SSIZE_MAX
with single sendfile call.. based on the patch by Eric Wong. [ruby-core:30908] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7f7c68ebea
commit
c69fda5e2a
2 changed files with 13 additions and 2 deletions
9
io.c
9
io.c
|
@ -8068,9 +8068,14 @@ nogvl_copy_stream_wait_write(struct copy_stream_struct *stp)
|
|||
#endif
|
||||
|
||||
static ssize_t
|
||||
simple_sendfile(int out_fd, int in_fd, off_t *offset, size_t count)
|
||||
simple_sendfile(int out_fd, int in_fd, off_t *offset, off_t count)
|
||||
{
|
||||
return sendfile(out_fd, in_fd, offset, count);
|
||||
#if SIZEOF_OFF_T > SIZEOF_SIZE_T
|
||||
/* we are limited by the 32-bit ssize_t return value on 32-bit */
|
||||
if (count > (off_t)SSIZE_MAX)
|
||||
count = SSIZE_MAX;
|
||||
#endif
|
||||
return sendfile(out_fd, in_fd, offset, (size_t)count);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue