Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: C atomics take a pointer

...

Code Block
bgColor#ccccff
langc
#include <stdatomic.h>

atomic_int account_balance;

/* Initialize account_balance */

void debit(int amount) {
  atomic_fetch_sub((volatile atomic_int *)&account_balance, amount);
}

void credit(int amount) {
  atomic_fetch_add((volatile atomic_int *)&account_balance, amount);
}

...