| /* 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 <stdlib.h> | |
| static int x; | |
| static void start (void) | |
| { | |
| __transaction_atomic { x++; } | |
| } | |
| int main() | |
| { | |
| start (); | |
| start (); | |
| if (x != 2) | |
| abort (); | |
| return 0; | |
| } |