[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/runtime/nepomuk/server
From: Sebastian Trueg <sebastian () trueg ! de>
Date: 2008-04-07 7:23:46
Message-ID: 1207553026.182421.2857.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 794364 by trueg:
Nicer signal handler
M +24 -6 main.cpp
--- trunk/KDE/kdebase/runtime/nepomuk/server/main.cpp #794363:794364
@@ -31,11 +31,30 @@
#include <signal.h>
+namespace {
+#ifndef Q_OS_WIN
+ void signalHandler( int signal )
+ {
+ switch( signal ) {
+ case SIGHUP:
+ case SIGQUIT:
+ case SIGINT:
+ if ( qApp ) {
+ qApp->quit();
+ }
+ }
+ }
+#endif
-static void sighandler( int /*sig*/ )
-{
- if ( qApp ) {
- qApp->quit();
+ void installSignalHandler() {
+#ifndef Q_OS_WIN
+ struct sigaction sa;
+ ::memset( &sa, 0, sizeof( sa ) );
+ sa.sa_handler = signalHandler;
+ sigaction( SIGHUP, &sa, 0 );
+ sigaction( SIGINT, &sa, 0 );
+ sigaction( SIGQUIT, &sa, 0 );
+#endif
}
}
@@ -85,8 +104,7 @@
return 0;
}
- signal( SIGTERM, sighandler );
- signal( SIGHUP, sighandler );
+ installSignalHandler();
Nepomuk::ServerApplication app;
app.setQuitOnLastWindowClosed( false );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic