summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/async.cc1
-rw-r--r--src/sim/async.hh2
-rw-r--r--src/sim/init.cc18
-rw-r--r--src/sim/simulate.cc3
4 files changed, 1 insertions, 23 deletions
diff --git a/src/sim/async.cc b/src/sim/async.cc
index 1a8e499f7..8ed00372c 100644
--- a/src/sim/async.cc
+++ b/src/sim/async.cc
@@ -33,6 +33,5 @@ volatile bool async_statdump = false;
volatile bool async_statreset = false;
volatile bool async_exit = false;
volatile bool async_io = false;
-volatile bool async_alarm = false;
volatile bool async_exception = false;
diff --git a/src/sim/async.hh b/src/sim/async.hh
index 6dd5b8a0d..67f686a59 100644
--- a/src/sim/async.hh
+++ b/src/sim/async.hh
@@ -40,14 +40,12 @@
/// @name Asynchronous event flags.
/// To avoid races, signal handlers simply set these flags, which are
/// then checked in the main event loop. Defined in main.cc.
-/// @note See the PollQueue object (in pollevent.hh) for the use of async_io and async_alarm.
//@{
extern volatile bool async_event; ///< Some asynchronous event has happened.
extern volatile bool async_statdump; ///< Async request to dump stats.
extern volatile bool async_statreset; ///< Async request to reset stats.
extern volatile bool async_exit; ///< Async request to exit simulator.
extern volatile bool async_io; ///< Async I/O request (SIGIO).
-extern volatile bool async_alarm; ///< Async alarm event (SIGALRM).
extern volatile bool async_exception; ///< Python exception.
//@}
diff --git a/src/sim/init.cc b/src/sim/init.cc
index 660fab62b..63af2dd88 100644
--- a/src/sim/init.cc
+++ b/src/sim/init.cc
@@ -104,15 +104,6 @@ ioHandler(int sigtype)
async_io = true;
}
-// Handle SIGALRM
-static void
-alrmHandler(int sigtype)
-{
- async_event = true;
- async_alarm = true;
- alarm(1);
-}
-
static void
installSignalHandler(int signal, void (*handler)(int sigtype))
{
@@ -156,15 +147,6 @@ initSignals()
// Install a SIGIO handler to handle asynchronous file IO. See the
// PollQueue class.
installSignalHandler(SIGIO, ioHandler);
-
- // Setup an alarm handler that triggers every second. This
- // triggers a PollQueue service just like a SIGIO. It is
- // /probably/ used to work around a bug in the poll queue (likely
- // a race between setting up a asynchronous IO and data becoming
- // available), but its use isn't documented anywhere.
- // TODO: Find out why this is needed and fix the original bug.
- installSignalHandler(SIGALRM, alrmHandler);
- alarm(1);
}
// The python library is totally messed up with respect to constness,
diff --git a/src/sim/simulate.cc b/src/sim/simulate.cc
index 78695688a..407e2274e 100644
--- a/src/sim/simulate.cc
+++ b/src/sim/simulate.cc
@@ -210,9 +210,8 @@ doSimLoop(EventQueue *eventq)
exitSimLoop("user interrupt received");
}
- if (async_io || async_alarm) {
+ if (async_io) {
async_io = false;
- async_alarm = false;
pollQueue.service();
}