Project

General

Profile

Bug #3441

wtwithqt: deadlock because condition_variable.notify_one() is called under mutex

Added by Anonymous almost 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
07/07/2014
Due date:
% Done:

0%

Estimated time:

Description

Hello!

According to Boost Synchronization [1], condition_variable.notify_one() must not be called under mutex, but it does so in DispatchThread.C in two places. This seems to be possible reason of deadlocks which happen from time to time in wtwithqt.

[1] http://www.boost.org/doc/libs/1_55_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref

#1

Updated by Koen Deforche over 7 years ago

  • Status changed from New to InProgress
  • Assignee set to Koen Deforche
  • Target version set to 3.3.4
#2

Updated by Koen Deforche over 7 years ago

  • Status changed from InProgress to Resolved

Hey,

While it does not need to be locked, it may be. Anyway I agree it's a good idea to unlock before signalling, so I've made this change.

Koen

#3

Updated by Koen Deforche over 7 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF