summaryrefslogtreecommitdiffstats
path: root/pica-client/skynet.cpp
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2013-12-15 17:58:48 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2013-12-15 17:58:48 +0000
commitde121d0f66a66295f43844443a619db8b2baad3c (patch)
tree41401718dfdebc5cd711adda5bab1728b2f01b93 /pica-client/skynet.cpp
parentc58d1b6dfe2abb863593955a990964f91187b2b5 (diff)
downloadpica-pica-de121d0f66a66295f43844443a619db8b2baad3c.tar.gz
pica-pica-de121d0f66a66295f43844443a619db8b2baad3c.zip
skip timer event if write_mutex is locked
git-svn-id: svn://localhost/project_picapica/trunk@303 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/skynet.cpp')
-rw-r--r--pica-client/skynet.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/pica-client/skynet.cpp b/pica-client/skynet.cpp
index 7770388..e868903 100644
--- a/pica-client/skynet.cpp
+++ b/pica-client/skynet.cpp
@@ -153,26 +153,27 @@ void SkyNet::verify_peer_cert(QByteArray peer_id, QString cert_pem, bool *verifi
void SkyNet::timerEvent(QTimerEvent *e)
{
-if (self_aware)
+ if (self_aware)
{
- QList<QByteArray> c2c_peer_ids = msgqueues.keys();
-
- write_mutex.lock();
+ if (write_mutex.tryLock(10))
+ {
+ QList<QByteArray> c2c_peer_ids = msgqueues.keys();
- c2c_peer_ids = filter_existing_chans(c2c_peer_ids);
+ c2c_peer_ids = filter_existing_chans(c2c_peer_ids);
- for (int i = 0; i < c2c_peer_ids.size(); i++)
- {
- int ret;
+ for (int i = 0; i < c2c_peer_ids.size(); i++)
+ {
+ int ret;
- struct PICA_chaninfo *chan = NULL;
+ struct PICA_chaninfo *chan = NULL;
- ret = PICA_create_channel(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), &chan);
+ ret = PICA_create_channel(nodelink, (const unsigned char*)c2c_peer_ids[i].constData(), &chan);
- qDebug()<<"restoring channel to "<<c2c_peer_ids[i]<<" ret ="<<ret<<" in timer event\n";
+ qDebug()<<"restoring channel to "<<c2c_peer_ids[i]<<" ret ="<<ret<<" in timer event\n";
- }
- write_mutex.unlock();
+ }
+ write_mutex.unlock();
+ }
}
else
{