Thread (16 messages) flat view 16 messages, 5 authors, 2016-06-15

Re: read() MAX_IO_SIZE bytes, more than SSIZE_MAX?

From: Joachim Schmitz <hidden>
Date: 2016-06-15 23:03:45

Randall S. Becker <rsbecker <at> nexbridge.com> writes:
On 2015-02-07 13:07PM Randall S. Becker wrote:
quoted
On 2015-02-07 12:30PM Torsten Bögershausen wrote:
quoted
On 2015-02-07 17.45, Joachim Schmitz wrote:
<spip> 
Although I do agree with Jojo, that MAX_IO_SIZE seems to be a platform
constant and should be defined in terms of SSIZE_MAX. So something like:

#ifndef MAX_IO_SIZE
# ifdef SSIZE_MAX
#  define MAX_IO_SIZE (SSIZE_MAX)
# else
#  define MAX_IO_SIZE (8*1024*1024)
# endif
#endif

would be desirable.
It would be way too large on some platforms. those 8MB had been chosen for 
a good reason, I assume:

/*
 * Limit size of IO chunks, because huge chunks only cause pain.  OS X
 * 64-bit is buggy, returning EINVAL if len >= INT_MAX; and even in
 * the absence of bugs, large chunks can result in bad latencies when
 * you decide to kill the process.
 */

However it should never be larger than SSIZE_MAX
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help