title: pause() signal handler
body: <p>The <code>pause()</code> function blocks until a signal arrives.
  Assuming the process got a signal and pause() returned, does the signal handler will be executed <strong>before</strong> the code that follows the <code>pause()</code> call, or the result is unexpected?</p>
  
  <p>Example:  </p>
  
  <pre><code>void sigusr1_handler() 
  {
     // .. handler code
  }
  
  void main() 
  {
     // .. bind handler to SIGUSR1
  
     pause(); // wait for SIGUSR1
     // some more code
  }
  </code></pre>
  
  <p>Does "some more code" will always be executed <strong>after</strong> <code>sigusr1_handler()</code> has finished, or there is a race condition? If so, what is the solution?<br>
   I cannot think of anything besides busy-waiting, but then the pause won't be needed at all..</p>