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); } }
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); } }