Cleanup old signal handler mechanisms

Remove watchUnixSignal(), unixSignal() and associated code. These are relics
which were being used by QWS to detect virtual console switching. Currently
they are not being used at all. The recommended way to watch for Unix signals
in Qt is http://doc-snapshot.qt-project.org/5.0/unix-signals.html.

Change-Id: Id34207cb8853442302a45b2816356da0f973ebb1
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
This commit is contained in:
Rafael Roquetto 2012-11-08 11:11:40 -02:00 committed by The Qt Project
parent acf959bee6
commit 18553bc50d
3 changed files with 0 additions and 67 deletions

View File

@ -2321,19 +2321,6 @@ void QCoreApplication::setEventDispatcher(QAbstractEventDispatcher *eventDispatc
mainThread->setEventDispatcher(eventDispatcher);
}
/*
\fn void QCoreApplication::watchUnixSignal(int signal, bool watch)
\internal
*/
/*!
\fn void QCoreApplication::unixSignal(int number)
\internal
This signal is emitted whenever a Unix signal is received by the
application. The Unix signal received is specified by its \a number.
*/
/*!
\fn void qAddPostRoutine(QtCleanUpFunction ptr)
\relates QCoreApplication

View File

@ -156,10 +156,6 @@ public:
static void flush();
#if defined(Q_OS_UNIX)
static void watchUnixSignal(int signal, bool watch);
#endif
void installNativeEventFilter(QAbstractNativeEventFilter *filterObj);
void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj);
@ -173,11 +169,6 @@ Q_SIGNALS:
void aboutToQuit(
#if !defined(qdoc)
QPrivateSignal
#endif
);
void unixSignal(int
#if !defined(qdoc)
, QPrivateSignal
#endif
);

View File

@ -72,20 +72,6 @@
QT_BEGIN_NAMESPACE
/*****************************************************************************
UNIX signal handling
*****************************************************************************/
static sig_atomic_t signal_received;
static sig_atomic_t signals_fired[NSIG];
static void signalHandler(int sig)
{
signals_fired[sig] = 1;
signal_received = 1;
}
#if defined(Q_OS_INTEGRITY) || defined(Q_OS_VXWORKS)
static void initThreadPipeFD(int fd)
{
@ -185,18 +171,6 @@ int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags,
int nsel;
do {
if (mainThread) {
while (signal_received) {
signal_received = 0;
for (int i = 0; i < NSIG; ++i) {
if (signals_fired[i]) {
signals_fired[i] = 0;
emit QCoreApplication::instance()->unixSignal(i, QCoreApplication::QPrivateSignal());
}
}
}
}
// Process timers and socket notifiers - the common UNIX stuff
int highest = 0;
if (! (flags & QEventLoop::ExcludeSocketNotifiers) && (sn_highest >= 0)) {
@ -671,23 +645,4 @@ void QEventDispatcherUNIX::interrupt()
void QEventDispatcherUNIX::flush()
{ }
/*!
\internal
*/
void QCoreApplication::watchUnixSignal(int sig, bool watch)
{
if (sig < NSIG) {
struct sigaction sa;
sigemptyset(&(sa.sa_mask));
sa.sa_flags = 0;
if (watch)
sa.sa_handler = signalHandler;
else
sa.sa_handler = SIG_DFL;
sigaction(sig, &sa, 0);
}
}
QT_END_NAMESPACE