title: Can threading.Event's set() or clear() function fail in any case
body: <p>Is there any case where <code>threading.Event</code>'s <code>set()</code> or <code>clear()</code> can fail, viz. calling <code>set()</code> again without <code>clear()</code>, etc.</p>
  
  <p>Right now I am adding <code>try-except</code> block around all <code>set()</code> and <code>clear()</code> calls.</p>
  
  <p>In <a href="https://docs.python.org/2.7/library/threading.html#event-objects" rel="nofollow">Python27 documentation</a>, this is not specified specifically.</p>
  
  <p>I asked this because intuitively it doesn't make sense to raise exception if you set a already set boolean flag or clear it.</p>