Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Oct 15th, 2010  |  syntax: C++  |  size: 0.42 KB  |  hits: 53  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. void try_reclaim(node* old_head)
  2. {
  3.    if(threads_in_pop==1)
  4.    {
  5.       node* nodes_to_delete=to_be_deleted.exchange(NULL); #1
  6.       if(!--threads_in_pop)
  7.       {
  8.          delete_nodes(nodes_to_delete);
  9.       }
  10.       else if(nodes_to_delete)
  11.       {
  12.          chain_pending_nodes(nodes_to_delete);
  13.       }
  14.       delete old_head;
  15.    }
  16.    else
  17.    {
  18.       chain_pending_node(old_head);
  19.       --threads_in_pop;
  20.    }
  21. }