+++ /dev/null
-#include <iostream>
-#include <threads.h>
-
-#include "seqlock.h"
-
-seqlock *lock;
-
-int *readD1;
-int *readD2;
-static void read_thrd(void *obj) {
- readD1 = new int;
- readD2 = new int;
- lock->read(readD1, readD2);
- cout << "Read: d1 = " << *readD1 << ", d2 = " << *readD2 << endl;
-}
-
-static void write_thrd1(void *obj) {
- int d1 = 1, d2 = 0;
- lock->write(1, 0);
- cout << "Write: d1 = " << d1 << ", d2 = " << d2 << endl;
-}
-
-static void write_thrd2(void *obj) {
- int d1 = 1, d2 = 2;
- lock->write(1, 2);
- cout << "Write: d1 = " << d1 << ", d2 = " << d2 << endl;
-}
-
-int user_main(int argc, char *argv[]) {
- lock = new seqlock;
- thrd_t t1, t2, t3;
- thrd_create(&t1, &read_thrd, NULL);
- thrd_create(&t2, &write_thrd1, NULL);
- //thrd_create(&t3, &write_thrd2, NULL);
-
- thrd_join(t1);
- thrd_join(t2);
- //thrd_join(t3);
-
- return 0;
-}