Example #1
0
static void write_at(unsigned int slot, value data) {
  // Try to write in a value to indicate that the data is being written.
  if(hashtbl[slot].addr == NULL &&
     __sync_bool_compare_and_swap(&(hashtbl[slot].addr), NULL, (char*)1)) {
    hashtbl[slot].addr = hh_store_ocaml(data);
  }
}
Example #2
0
File: hh_shared.c Project: 2bj/hhvm
static void write_at(unsigned int slot, value data) {
  if(hashtbl[slot].addr == NULL &&
     __sync_bool_compare_and_swap(&(hashtbl[slot].addr), NULL, 1)) {
    hashtbl[slot].addr = hh_store_ocaml(data);
  }
}