Cygwin: FIFO: implement clear_readahead

Make fhandler_base::clear_readahead virtual, and implement
fhandler_fifo::clear_readahead.  This is called by
dtable::fixup_after_exec; it clears the readahead in each client.
This commit is contained in:
Ken Brown 2019-03-27 21:29:21 +00:00 committed by Corinna Vinschen
parent 298581868a
commit e0fd15c91b
1 changed files with 7 additions and 1 deletions

View File

@ -444,7 +444,7 @@ public:
return dev ().native ();
}
virtual bg_check_types bg_check (int, bool = false) {return bg_ok;}
void clear_readahead ()
virtual void clear_readahead ()
{
raixput = raixget = ralen = rabuflen = 0;
rabuf = NULL;
@ -1302,6 +1302,12 @@ public:
bool arm (HANDLE h);
void fixup_after_fork (HANDLE);
int __reg2 fstatvfs (struct statvfs *buf);
void clear_readahead ()
{
fhandler_base::clear_readahead ();
for (int i = 0; i < nclients; i++)
client[i].fh->clear_readahead ();
}
select_record *select_read (select_stuff *);
select_record *select_write (select_stuff *);
select_record *select_except (select_stuff *);