diff options
Diffstat (limited to 'src/network/socket')
-rw-r--r-- | src/network/socket/qlocalserver_unix.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp index 5840958350..b60f7d0ceb 100644 --- a/src/network/socket/qlocalserver_unix.cpp +++ b/src/network/socket/qlocalserver_unix.cpp @@ -239,6 +239,10 @@ bool QLocalServerPrivate::listen(qintptr socketDescriptor) QT_SOCKLEN_T len = sizeof(addr); memset(&addr, 0, sizeof(addr)); if (::getsockname(socketDescriptor, (sockaddr *)&addr, &len) == 0) { +#if defined(Q_OS_QNX) + if (addr.sun_path[0] == 0 && addr.sun_path[1] == 0) + len = SUN_LEN(&addr); +#endif if (QLocalSocketPrivate::parseSockaddr(addr, len, fullServerName, serverName, abstractAddress)) { QLocalServer::SocketOptions options = socketOptions.value(); |