Go to the documentation of this file.
29 #include <sys/ioctl.h>
30 #include <sys/types.h>
32 #if defined(__sun__) || defined(__SUNPRO_CC)
110 : poll_fds(NULL), max_size(0), num_fds(0)
124 eventvec_t::iterator
i =
events.begin();
125 eventvec_t::iterator end =
events.end();
139 eventvec_t::iterator
i =
events.begin();
140 eventvec_t::iterator end =
events.end();
153 panic(
"Event does not exist. Cannot remove.");
160 panic(
"Event already scheduled!");
201 template <
class ArgT>
204 int retval = fcntl(
fd, cmd, arg);
206 char *errstr = strerror(errno);
207 panic(
"fcntl(%d, %d, %s): \"%s\" when setting up async IO.\n",
208 errstr,
fd, cmd, arg);
215 int retval = fcntl(
fd, cmd);
217 char *errstr = strerror(errno);
218 panic(
"fcntl(%d, %d): \"%s\" when setting up async IO.\n",
volatile bool async_event
Some asynchronous event has happened.
volatile bool async_io
Async I/O request (SIGIO).
EventQueue * getEventQueue(uint32_t index)
Function for returning eventq queue for the provided index.
#define UNSERIALIZE_SCALAR(scalar)
void schedule(PollEvent *event)
static void setupAsyncIO(int fd, bool set)
virtual void wakeup(Tick when=(Tick) -1)
Function to signal that the event loop should be woken up because an event has been scheduled by an a...
PollEvent(int fd, int event)
#define SERIALIZE_SCALAR(scalar)
void serialize(CheckpointOut &cp) const override
Serialize an object.
static int fcntlHelper(int fd, int cmd, ArgT arg)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void remove(PollEvent *event)
std::ostream CheckpointOut
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Jun 22 2021 15:28:25 for gem5 by doxygen 1.8.17