Feature #5995 » patch.diff
| io.c | ||
|---|---|---|
|
#endif
|
||
|
}
|
||
|
#ifdef HAVE_POSIX_FADVISE
|
||
|
struct io_advise_struct {
|
||
|
int fd;
|
||
|
off_t offset;
|
||
|
off_t len;
|
||
|
int advice;
|
||
|
};
|
||
|
#ifdef POSIX_FADV_SEQUENTIAL
|
||
|
static VALUE io_advise_internal(void *arg);
|
||
|
#endif /* POSIX_FADV_SEQUENTIAL */
|
||
|
#endif /* HAVE_POSIX_FADVISE */
|
||
|
static VALUE
|
||
|
read_all(rb_io_t *fptr, long siz, VALUE str)
|
||
|
{
|
||
| ... | ... | |
|
rb_encoding *enc;
|
||
|
int cr;
|
||
|
#ifdef HAVE_POSIX_FADVISE
|
||
|
#ifdef POSIX_FADV_SEQUENTIAL
|
||
|
struct io_advise_struct ias;
|
||
|
ias.fd = fptr->fd;
|
||
|
ias.advice = POSIX_FADV_SEQUENTIAL;
|
||
|
ias.offset = 0;
|
||
|
ias.len = 0;
|
||
|
io_advise_internal(&ias);
|
||
|
#endif /* POSIX_FADV_SEQUENTIAL */
|
||
|
#endif /* HAVE_POSIX_FADVISE */
|
||
|
if (NEED_READCONV(fptr)) {
|
||
|
SET_BINARY_MODE(fptr);
|
||
|
io_setstrbuf(&str,0);
|
||
| ... | ... | |
|
sym_willneed, sym_dontneed, sym_noreuse;
|
||
|
#ifdef HAVE_POSIX_FADVISE
|
||
|
struct io_advise_struct {
|
||
|
int fd;
|
||
|
off_t offset;
|
||
|
off_t len;
|
||
|
int advice;
|
||
|
};
|
||
|
static VALUE
|
||
|
io_advise_internal(void *arg)
|
||
|
{
|
||