summaryrefslogtreecommitdiffstats
path: root/src/serviceframework
diff options
context:
space:
mode:
Diffstat (limited to 'src/serviceframework')
-rw-r--r--src/serviceframework/ipc/qremoteserviceregister_unix_p.cpp10
-rw-r--r--src/serviceframework/qservicedebuglog.cpp5
2 files changed, 13 insertions, 2 deletions
diff --git a/src/serviceframework/ipc/qremoteserviceregister_unix_p.cpp b/src/serviceframework/ipc/qremoteserviceregister_unix_p.cpp
index 762b643b..75654606 100644
--- a/src/serviceframework/ipc/qremoteserviceregister_unix_p.cpp
+++ b/src/serviceframework/ipc/qremoteserviceregister_unix_p.cpp
@@ -985,7 +985,7 @@ int doStart(const QString &location) {
int pipefd[2];
- if (-1 == (pipe2(pipefd, O_CLOEXEC))) {
+ if (-1 == (pipe(pipefd))) {
qWarning("pipe2 failed: %s", ::strerror(errno));
#ifndef Q_OS_MAC
::inotify_rm_watch(fd, wd);
@@ -996,6 +996,12 @@ int doStart(const QString &location) {
return socketfd;
}
+ flags = fcntl(pipefd[0], F_GETFL, 0);
+ fcntl(pipefd[0], F_SETFL, flags|O_CLOEXEC);
+ flags = fcntl(pipefd[1], F_GETFL, 0);
+ fcntl(pipefd[1], F_SETFL, flags|O_CLOEXEC);
+
+
qint64 pid = 0;
// Start the service as a detached process
@@ -1018,7 +1024,7 @@ int doStart(const QString &location) {
execlp(path.toLatin1(), path.toLatin1(), NULL);
- qWarning("exec of process %s failed: %s", path.toLatin1(), ::strerror(errno));
+ qWarning() << "exec of process" << path.toLatin1() << ::strerror(errno);
qServiceLog() << "class" << "doStart"
<< "event" << "failed start"
diff --git a/src/serviceframework/qservicedebuglog.cpp b/src/serviceframework/qservicedebuglog.cpp
index e9cbdf60..30a2b54d 100644
--- a/src/serviceframework/qservicedebuglog.cpp
+++ b/src/serviceframework/qservicedebuglog.cpp
@@ -48,8 +48,13 @@
#include <QCoreApplication>
#include <QFileInfo>
+#ifdef QT_SFW_IPC_DEBUG
#ifdef Q_OS_UNIX
#include <signal.h>
+#include <errno.h>
+#endif
+#include <QNetworkInterface>
+#include <QUdpSocket>
#endif
QT_BEGIN_NAMESPACE