summaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/pollevent.cc62
-rw-r--r--src/base/pollevent.hh9
2 files changed, 0 insertions, 71 deletions
diff --git a/src/base/pollevent.cc b/src/base/pollevent.cc
index cb44d8728..67e97f98f 100644
--- a/src/base/pollevent.cc
+++ b/src/base/pollevent.cc
@@ -109,7 +109,6 @@ PollQueue::PollQueue()
PollQueue::~PollQueue()
{
- removeHandler();
for (int i = 0; i < num_fds; i++)
setupAsyncIO(poll_fds[0].fd, false);
@@ -170,7 +169,6 @@ PollQueue::schedule(PollEvent *event)
max_size *= 2;
} else {
max_size = 16;
- setupHandler();
}
poll_fds = new pollfd[max_size];
@@ -197,10 +195,6 @@ PollQueue::service()
}
}
-struct sigaction PollQueue::oldio;
-struct sigaction PollQueue::oldalrm;
-bool PollQueue::handler = false;
-
void
PollQueue::setupAsyncIO(int fd, bool set)
{
@@ -221,59 +215,3 @@ PollQueue::setupAsyncIO(int fd, bool set)
if (fcntl(fd, F_SETFL, flags) == -1)
panic("Could not set up async IO");
}
-
-void
-PollQueue::setupHandler()
-{
- struct sigaction act;
-
- act.sa_handler = handleIO;
- sigemptyset(&act.sa_mask);
- act.sa_flags = SA_RESTART;
-
- if (sigaction(SIGIO, &act, &oldio) == -1)
- panic("could not do sigaction");
-
- act.sa_handler = handleALRM;
- sigemptyset(&act.sa_mask);
- act.sa_flags = SA_RESTART;
-
- if (sigaction(SIGALRM, &act, &oldalrm) == -1)
- panic("could not do sigaction");
-
- alarm(1);
-
- handler = true;
-}
-
-void
-PollQueue::removeHandler()
-{
- if (sigaction(SIGIO, &oldio, NULL) == -1)
- panic("could not remove handler");
-
- if (sigaction(SIGIO, &oldalrm, NULL) == -1)
- panic("could not remove handler");
-}
-
-void
-PollQueue::handleIO(int sig)
-{
- if (sig != SIGIO)
- panic("Wrong Handler");
-
- async_event = true;
- async_io = true;
-}
-
-void
-PollQueue::handleALRM(int sig)
-{
- if (sig != SIGALRM)
- panic("Wrong Handler");
-
- async_event = true;
- async_alarm = true;
- alarm(1);
-}
-
diff --git a/src/base/pollevent.hh b/src/base/pollevent.hh
index b9c833c8a..5e0faa729 100644
--- a/src/base/pollevent.hh
+++ b/src/base/pollevent.hh
@@ -83,17 +83,8 @@ class PollQueue
void schedule(PollEvent *event);
void service();
- protected:
- static bool handler;
- static struct sigaction oldio;
- static struct sigaction oldalrm;
-
public:
static void setupAsyncIO(int fd, bool set);
- static void handleIO(int);
- static void handleALRM(int);
- static void removeHandler();
- static void setupHandler();
};
extern PollQueue pollQueue;