Fix crashes in readRandomDevice()
authorBrian Watling <bwatling@fb.com>
Wed, 5 Nov 2014 22:50:37 +0000 (14:50 -0800)
committerPavlo Kushnir <pavlo@fb.com>
Sat, 8 Nov 2014 02:37:56 +0000 (18:37 -0800)
commit100ebad746bbc310bb56bfd1c11e6054970ab873
treecaf50dd285574de72dc9842ba436cf61ad670ca2
parent20dfb55adcc0c87f596047a6b3614cc36583808b
Fix crashes in readRandomDevice()

Summary: The comment in readRandomDevice() lies - the PCHECK fails with "Bad file descriptor" in some tests. This is most likely due to a race where a background thread is calling readRandomDevice() while the main thread shuts down. Another possibility is bad destruction order, where rnadomDevice is destroyed before some other static object whose destructor calls readRandomDevice(). Either way, this fixes it without having to chace down every instance.

Test Plan: run unit tests

Reviewed By: meyering@fb.com

Subscribers: antonl, trunkagent, meyering, simpkins, njormrod, folly-diffs@, tao-eng@

FB internal diff: D1660903

Signature: t1:1660903:1415215895:7f1f96ab7416b45c4dc18e78173fb59eb27bd03b
folly/Random.cpp