Index: src/ioslaves/file/fdreceiver.h =================================================================== --- src/ioslaves/file/fdreceiver.h +++ src/ioslaves/file/fdreceiver.h @@ -40,6 +40,7 @@ Q_SLOT void receiveFileDescriptor(); QSocketNotifier *m_readNotifier; + QString m_path; int m_socketDes; int m_fileDes; }; Index: src/ioslaves/file/fdreceiver.cpp =================================================================== --- src/ioslaves/file/fdreceiver.cpp +++ src/ioslaves/file/fdreceiver.cpp @@ -27,9 +27,12 @@ FdReceiver::FdReceiver(const QString &path, QObject *parent) : QObject(parent) , m_readNotifier(nullptr) + , m_path(path) , m_socketDes(-1) , m_fileDes(-1) { + ::unlink(m_path.toLocal8Bit().constData()); + m_socketDes = ::socket(AF_LOCAL, SOCK_STREAM|SOCK_NONBLOCK, 0); if (m_socketDes == -1) { std::cerr << "socket error:" << strerror(errno) << std::endl; Index: src/ioslaves/file/sharefd_p.h =================================================================== --- src/ioslaves/file/sharefd_p.h +++ src/ioslaves/file/sharefd_p.h @@ -59,7 +59,6 @@ const size_t pathSize = finalPath.size(); if (pathSize > 5 && pathSize < sizeof(a.sun_path) - 1) { memcpy(a.sun_path, finalPath.c_str(), pathSize + 1); - ::unlink(finalPath.c_str()); } return a; }