diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2013-12-15 17:58:48 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2013-12-15 17:58:48 +0000 |
| commit | de121d0f66a66295f43844443a619db8b2baad3c (patch) | |
| tree | 41401718dfdebc5cd711adda5bab1728b2f01b93 /pica-client/skynet.cpp | |
| parent | c58d1b6dfe2abb863593955a990964f91187b2b5 (diff) | |
| download | pica-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.cpp | 27 |
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 { |
