29 #include <sys/ioctl.h> 30 #include <sys/types.h> 32 #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!");
203 template <
class ArgT>
206 int retval = fcntl(fd, cmd, arg);
208 char *errstr = strerror(errno);
209 panic(
"fcntl(%d, %d, %s): \"%s\" when setting up async IO.\n",
210 errstr, fd, cmd, arg);
217 int retval = fcntl(fd, cmd);
219 char *errstr = strerror(errno);
220 panic(
"fcntl(%d, %d): \"%s\" when setting up async IO.\n",
#define panic(...)
This implements a cprintf based panic() function.
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.
Overload hash function for BasicBlockRange type.
static int fcntlHelper(int fd, int cmd, ArgT arg)
void schedule(PollEvent *event)
#define UNSERIALIZE_SCALAR(scalar)
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...
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.