From 6ea1e538b79a08d370660b1237c6ed6baaf82bce Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Mon, 16 Feb 2015 18:20:13 +0100 Subject: Set QBluetoothServer::ServiceAlreadyRegisteredError where possible This affects Bluez 4 & 5. Task-number: QTBUG-44452 Change-Id: Ifa9f6c56499bece3d99dba65a0afeed6c2ed60ac Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- src/bluetooth/qbluetoothserver_bluez.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/bluetooth/qbluetoothserver_bluez.cpp b/src/bluetooth/qbluetoothserver_bluez.cpp index 88eab65c..c6ce77a3 100644 --- a/src/bluetooth/qbluetoothserver_bluez.cpp +++ b/src/bluetooth/qbluetoothserver_bluez.cpp @@ -151,9 +151,11 @@ bool QBluetoothServer::listen(const QBluetoothAddress &address, quint16 port) else convertAddress(device.address().toUInt64(), addr.rc_bdaddr.b); - if (::bind(sock, reinterpret_cast(&addr), sizeof(sockaddr_rc)) < 0) { - d->m_lastError = InputOutputError; + if (errno == EADDRINUSE) + d->m_lastError = ServiceAlreadyRegisteredError; + else + d->m_lastError = InputOutputError; emit error(d->m_lastError); return false; } -- cgit v1.2.3