31 #include <sys/ioctl.h>
32 #include <sys/types.h>
34 #if defined(__sun__) || defined(__SUNPRO_CC)
112 : poll_fds(NULL), max_size(0), num_fds(0)
126 eventvec_t::iterator
i =
events.begin();
127 eventvec_t::iterator end =
events.end();
141 eventvec_t::iterator
i =
events.begin();
142 eventvec_t::iterator end =
events.end();
155 panic(
"Event does not exist. Cannot remove.");
162 panic(
"Event already scheduled!");
206 int flags = fcntl(fd, F_GETFL);
208 panic(
"Could not set up async IO");
216 if (fcntl(fd, F_SETOWN, getpid()) == -1)
217 panic(
"Could not set up async IO");
220 if (fcntl(fd, F_SETFL, flags) == -1)
221 panic(
"Could not set up async IO");
EventQueue * getEventQueue(uint32_t index)
Function for returning eventq queue for the provided index.
This file defines flags used to handle asynchronous simulator events.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void schedule(PollEvent *event)
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...
#define UNSERIALIZE_SCALAR(scalar)
void serialize(CheckpointOut &cp) const override
Serialize an object.
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
static void setupAsyncIO(int fd, bool set)
PollEvent(int fd, int event)
#define SERIALIZE_SCALAR(scalar)
std::ostream CheckpointOut
void remove(PollEvent *event)
volatile bool async_io
Async I/O request (SIGIO).
volatile bool async_event
Some asynchronous event has happened.