Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37903130
en ru br
ALT Linux repos
S:0.19.0-alt2

Group :: Graphical desktop/KDE
RPM: sddm

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: create_pid_file.patch
Download


diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in
index f7e31e4..654331d 100644
--- a/src/common/Constants.h.in
+++ b/src/common/Constants.h.in
@@ -33,6 +33,7 @@
 
 #define CONFIG_FILE                 "@CONFIG_FILE@"
 #define LOG_FILE                    "@LOG_FILE@"
+#define PID_FILE                    "@PID_FILE@"
 #define MINIMUM_VT                  @MINIMUM_VT@
 
 #define HALT_COMMAND "@HALT_COMMAND@"
diff --git a/src/daemon/DaemonApp.cpp b/src/daemon/DaemonApp.cpp
index 662c0f4..c525efd 100644
--- a/src/daemon/DaemonApp.cpp
+++ b/src/daemon/DaemonApp.cpp
@@ -31,6 +31,7 @@
 #include <QDebug>
 #include <QHostInfo>
 #include <QTimer>
+#include <QFile>
 
 #include <iostream>
 
@@ -46,6 +47,16 @@ namespace SDDM {
         // log message
         qDebug() << "Initializing...";
 
+        // Write PID File
+        if ( ! QString(QStringLiteral(PID_FILE)).isEmpty() ) {
+            QFile pidFile(QStringLiteral(PID_FILE));
+            QString pid = QString::number(QCoreApplication::applicationPid());
+            if ( pidFile.open(QIODevice::WriteOnly | QIODevice::Text) ) {
+                pidFile.write(pid.toLatin1().data(), qstrlen(pid.toLatin1().data()));
+                pidFile.close();
+            }
+        }
+
         // set testing parameter
         m_testing = (arguments().indexOf("--test-mode") != -1);
 
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin