Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Coding style conformance

...

Code Block
bgColor#FFcccc
langc
#include <condition_variable>
#include <mutex>
 
struct node_tNode {
  void *node;
  struct node_tNode *next;
};
  
static node_tNode list;
static std::mutex m;
static std::condition_variable condition;
  
void consume_list_element(std::condition_variable &condition) {
  std::unique_lock<std::mutex> lk(m);
  
  if (list.next) {
    condition.wait(lk);
  }
 
  // Proceed when condition holds.
 
}

...

Code Block
bgColor#ccccff
langc
#include <condition_variable>
#include <mutex>
 
struct node_tNode {
  void *node;
  struct node_tNode *next;
};
  
static node_tNode list;
static std::mutex m;
static std::condition_variable condition;
  
void consume_list_element() {
  std::unique_lock<std::mutex> lk(m);
  
  while (list.next) {
    condition.wait(lk);
  }
 
  // Proceed when condition holds.
 
}

...

Code Block
bgColor#ccccff
langc
#include <condition_variable>
#include <mutex>
 
struct node_tNode {
  void *node;
  struct node_tNode *next;
};
  
static node_tNode list;
static std::mutex m;
static std::condition_variable condition;
  
void consume_list_element() {
  std::unique_lock<std::mutex> lk(m);
 
  condition.wait(lk, []{ return !list.next; });
  // Proceed when condition holds.
 
}

...