summaryrefslogtreecommitdiff
path: root/core/launcher/main.cpp
Side-by-side diff
Diffstat (limited to 'core/launcher/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 74965df..5416d33 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -231,97 +231,99 @@ int initApplication( int argc, char ** argv )
#ifdef QWS
QWSServer::setDesktopBackground( QImage() );
#endif
ServerApplication a( argc, argv, QApplication::GuiServer );
refreshTimeZoneConfig();
initKeyboard();
// Don't use first use under Windows
if ( firstUse() ) {
a.restart();
return 0;
}
ODevice::inst ( )-> setSoftSuspend ( true );
{
QCopEnvelope e("QPE/System", "setBacklight(int)" );
e << -3; // Forced on
}
AlarmServer::initialize();
Server *s = new Server();
(void)new SysFileMonitor(s);
#ifdef QWS
Network::createServer(s);
#endif
s->show();
/* THE ARM rtc has problem holdings the time on reset */
if ( QDate::currentDate ( ). year ( ) < 2000 ) {
if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ), ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" ). arg( TimeString::dateString ( QDate::currentDate ( ))), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) {
QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" );
e << QString ( );
}
}
int rv = a.exec();
qDebug("exiting...");
delete s;
+#ifndef Q_OS_MACX
ODevice::inst()->setSoftSuspend( false );
+#endif
return rv;
}
static const char *pidfile_path = "/var/run/opie.pid";
void create_pidfile ( )
{
FILE *f;
if (( f = ::fopen ( pidfile_path, "w" ))) {
::fprintf ( f, "%d", getpid ( ));
::fclose ( f );
}
}
void remove_pidfile ( )
{
::unlink ( pidfile_path );
}
void handle_sigterm ( int /* sig */ )
{
if ( qApp )
qApp-> quit ( );
}
#ifndef Q_OS_WIN32
int main( int argc, char ** argv )
{
::signal ( SIGCHLD, SIG_IGN );
::signal ( SIGTERM, handle_sigterm );
::signal ( SIGINT, handle_sigterm );
::setsid ( );
::setpgid ( 0, 0 );
::atexit ( remove_pidfile );
create_pidfile ( );
int retVal = initApplication( argc, argv );
// Have we been asked to restart?
if ( ServerApplication::doRestart ) {
for ( int fd = 3; fd < 100; fd++ )
close( fd );