From 12803cbe38ea79ce2acee1420f2bc85801f50f45 Mon Sep 17 00:00:00 2001 From: codestation Date: Sat, 28 Feb 2015 18:47:22 -0430 Subject: [PATCH] Use SO_REUSEADDR so the broadcast bind() function doesn't fail on sudden qcma restarts. --- src/cmabroadcast.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmabroadcast.cpp b/src/cmabroadcast.cpp index 7a2873c..8f8682c 100644 --- a/src/cmabroadcast.cpp +++ b/src/cmabroadcast.cpp @@ -60,7 +60,9 @@ CmaBroadcast::CmaBroadcast(QObject *obj_parent) : socket = new QUdpSocket(this); connect(socket, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); - socket->bind(QHostAddress::AnyIPv4, QCMA_REQUEST_PORT); + if(!socket->bind(QHostAddress::AnyIPv4, QCMA_REQUEST_PORT, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint)) { + qDebug() << "Failed to bind address for UDP broadcast"; + } } void CmaBroadcast::readPendingDatagrams()