title: OpenMP blocking call in thread
body: <p>I'm already using OpenMP for some parallel processing and would like to add a control thread with a blocking receive. Most of the time this thread will be blocked and therefore I don't want it sitting there taking up a core. Ideally the blocking call would trigger a yield to an extra worker thread. How will OpenMP deal with the blocking call?</p>
  
  <p>Something like this:</p>
  
  <pre><code>#include &lt;omp.h&gt;
  
  int main()
  {
  int cores = omp_get_num_procs();
  #pragma omp parallel num_threads(cores + 1) 
      if (omp_get_thread_num() == 0) {
          send();
          blockingReceive();
      }
      else
      {
          work();
      }
  }
  </code></pre>