-rw-r--r-- | core/launcher/qcopbridge.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/launcher/qcopbridge.cpp b/core/launcher/qcopbridge.cpp index e339dc7..64eb096 100644 --- a/core/launcher/qcopbridge.cpp +++ b/core/launcher/qcopbridge.cpp @@ -42,12 +42,13 @@ using namespace Opie::Core; #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #ifndef Q_OS_WIN32 #include <pwd.h> #include <unistd.h> +#include <fcntl.h> #include <sys/types.h> #endif #if defined(_OS_LINUX_) #include <shadow.h> #endif @@ -60,12 +61,13 @@ QCopBridge::QCopBridge( Q_UINT16 port, QObject *parent, desktopChannel( 0 ), cardChannel( 0 ) { if ( !ok() ) owarn << "Failed to bind to port " << port << "" << oendl; else { + ::fcntl( socket(), F_SETFD, FD_CLOEXEC ); #ifndef QT_NO_COP desktopChannel = new QCopChannel( "QPE/Desktop", this ); connect( desktopChannel, SIGNAL(received(const QCString&,const QByteArray&)), this, SLOT(desktopMessage(const QCString&,const QByteArray&)) ); cardChannel = new QCopChannel( "QPE/Card", this ); connect( cardChannel, SIGNAL(received(const QCString&,const QByteArray&)), |