Ticket #6595: 6595-v1.patch
File 6595-v1.patch, 3.6 KB (added by , 16 years ago) |
---|
-
programs/mythbackend/mainserver.h
193 193 vector<PlaybackSock *> playbackList; 194 194 vector<FileTransfer *> fileTransferList; 195 195 196 QTimer *masterServerReconnect; 196 QTimer *masterServerReconnect; // audited ref #5318 197 197 PlaybackSock *masterServer; 198 198 199 199 bool ismaster; … … 225 225 static QMutex truncate_and_close_lock; 226 226 227 227 int m_exitCode; 228 229 static const uint kMasterServerReconnectTimeout; 228 230 }; 229 231 230 232 #endif -
programs/mythbackend/mainserver.cpp
109 109 }; 110 110 111 111 QMutex MainServer::truncate_and_close_lock; 112 const uint MainServer::kMasterServerReconnectTimeout = 1000; //ms 112 113 113 114 class ProcessRequestThread : public QThread 114 115 { … … 207 208 masterServerReconnect->setSingleShot(true); 208 209 connect(masterServerReconnect, SIGNAL(timeout()), this, 209 210 SLOT(reconnectTimeout())); 210 masterServerReconnect->start( 1000);211 masterServerReconnect->start(kMasterServerReconnectTimeout); 211 212 } 212 213 213 214 deferredDeleteTimer = new QTimer(this); … … 844 845 if (me->Message().left(6) == "LOCAL_") 845 846 return; 846 847 848 if (me->Message() == "RECONNECT_TO_MASTER") 849 { 850 VERBOSE(VB_IMPORTANT, "Got RECONNECT_TO_MASTER message"); 851 masterServerReconnect->start(kMasterServerReconnectTimeout); 852 } 853 847 854 broadcast = QStringList( "BACKEND_MESSAGE" ); 848 855 broadcast << me->Message(); 849 856 broadcast += me->ExtraDataList(); … … 4596 4603 sockListLock.unlock(); 4597 4604 masterServer->DownRef(); 4598 4605 masterServer = NULL; 4599 masterServerReconnect->start(1000); 4606 VERBOSE(VB_IMPORTANT, "Sending RECONNECT_TO_MASTER message"); 4607 MythEvent me("RECONNECT_TO_MASTER"); 4608 gContext->dispatch(me); 4600 4609 return; 4601 4610 } 4602 4611 else if (sock == socket) … … 4966 4975 if (!masterServerSock->connect(server, port)) 4967 4976 { 4968 4977 VERBOSE(VB_IMPORTANT, "Connection to master server timed out."); 4969 masterServerReconnect->start( 1000);4978 masterServerReconnect->start(kMasterServerReconnectTimeout); 4970 4979 masterServerSock->DownRef(); 4971 4980 return; 4972 4981 } … … 4974 4983 if (masterServerSock->state() != MythSocket::Connected) 4975 4984 { 4976 4985 VERBOSE(VB_IMPORTANT, "Could not connect to master server."); 4977 masterServerReconnect->start( 1000);4986 masterServerReconnect->start(kMasterServerReconnectTimeout); 4978 4987 masterServerSock->DownRef(); 4979 4988 return; 4980 4989 } … … 5007 5016 } 5008 5017 } 5009 5018 5010 masterServerSock->writeStringList(strlist);5011 masterServerSock->readStringList(strlist);5012 if (strlist.empty() || strlist[0] == "ERROR")5019 if (!masterServerSock->writeStringList(strlist) || 5020 !masterServerSock->readStringList(strlist) || 5021 strlist.empty() || strlist[0] == "ERROR") 5013 5022 { 5014 5023 masterServerSock->DownRef(); 5015 5024 masterServerSock->Unlock(); … … 5027 5036 QString(", error was %1").arg(strlist[1]) : 5028 5037 QString(", remote error"))); 5029 5038 } 5030 masterServerReconnect->start( 1000);5039 masterServerReconnect->start(kMasterServerReconnectTimeout); 5031 5040 return; 5032 5041 } 5033 5042