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!");
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",
This file defines flags used to handle asynchronous simulator events.
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void serialize(CheckpointOut &cp) const override
Serialize an object.
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...
#define panic(...)
This implements a cprintf based panic() function.
PollEvent(int fd, int event)
void remove(PollEvent *event)
void schedule(PollEvent *event)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
volatile bool async_event
Some asynchronous event has happened.
std::ostream CheckpointOut
static int fcntlHelper(int fd, int cmd, ArgT arg)
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)
#define SERIALIZE_SCALAR(scalar)