title: Best way for waiting for callback to finish
body: <p>In the code below, main() function is calling request() function which inter call th_request_async() function which mm_th_done_cb().</p>
  
  <p>What will be the best and efficient way to proceed in main only after the mm_th_done_cb() is executed.</p>
  
  <p>DUMMY CODE</p>
  
  <pre><code>int mm_th_done_cb(int error_code, th_result_s* th_result, void* user_data)
  {
      return 0;
  }
  
  void request()
  {
      th_request_s MyItemInfo;
      strncpy(MyItemInfo.origin_path, szUrl, 1024+1);
      MyItemInfo.orientation = 0;
      MyItemInfo.func = mm_th_done_cb;
      MyItemInfo.used_cache = 1;
      th_request_async(MyItemInfo);
  }
  
  
  int main()
  {
      request();
      // Here I need to do something only after mm_th_done_cb() has been excuted.
  }
  </code></pre>