25 lines
415 B
C
25 lines
415 B
C
|
/* 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;
|
||
|
}
|