Fix TimedMutex deadlock when used both from fiber and main context
authorAndrii Grynenko <andrii@fb.com>
Fri, 16 Dec 2016 21:27:33 +0000 (13:27 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 16 Dec 2016 21:33:07 +0000 (13:33 -0800)
commit2b06a7168bbcbb11384350d918767ab1804b9cdc
tree785291eccf2c144b0fcf71bd716eac20949db8bf
parent9660cdb0d15424e509f3a89cce9a321f15b2d48c
Fix TimedMutex deadlock when used both from fiber and main context

Summary: TimedMutex is a fair mutex, which can cause a deadlock if same mutex is requested first in a fiber, and then in main context.

Reviewed By: yfeldblum

Differential Revision: D4209155

fbshipit-source-id: 0623d9a2e6a0b5cc310fb71ad1b1cf33afd6a30e
folly/fibers/TimedMutex-inl.h
folly/fibers/TimedMutex.h
folly/fibers/test/FibersTest.cpp