/* Verify that two sequential runs of a transaction will complete and produce correct results. An early test of the library did in fact leave things in an inconsistent state following the commit of the first transaction. */ #include static int x; static void start (void) { __transaction_atomic { x++; } } int main() { start (); start (); if (x != 2) abort (); return 0; }