* This is a test of the "uninitialized loads" code. While we don't explicitly
* initialize y, this example's synchronization pattern should guarantee we
* never see it uninitialized.
- *
- * @todo (12/11/12) this example currently doesn't run properly; it never sees
- * the behavior where 'flag == 2'.
*/
#include <stdio.h>
#include <threads.h>
std::atomic_init(&x, 0);
- printf("Thread %d: creating 2 threads\n", thrd_current());
+ printf("Main thread: creating 2 threads\n");
thrd_create(&t1, (thrd_start_t)&a, NULL);
thrd_create(&t2, (thrd_start_t)&b, NULL);
thrd_create(&t3, (thrd_start_t)&c, NULL);
thrd_join(t1);
thrd_join(t2);
thrd_join(t3);
- printf("Thread %d is finished\n", thrd_current());
+ printf("Main thread is finished\n");
return 0;
}