title: One thread reading and another writing to volatile variable - thread-safe?
body: <p>In C I have a pointer that is declared volatile and initialized null. </p>
  
  <pre><code>void* volatile pvoid;
  </code></pre>
  
  <p>Thread 1 is occasionally reading the pointer value to check if it is non-null.  Thread 1 will not set the value of the pointer.
  Thread 2 will set the value of a pointer just once.  </p>
  
  <p>I believe I can get away without using a mutex or condition variable.<br>
  Is there any reason thread 1 will read a corrupted value or thread 2 will write a corrupted value?  </p>