package rttm.tests.manual; import static com.jopdesign.sys.Const.MEM_TM_MAGIC; import static com.jopdesign.sys.Const.TM_END_TRANSACTION; import static com.jopdesign.sys.Const.TM_START_TRANSACTION; import rttm.AbortException; import com.jopdesign.io.IOFactory; import com.jopdesign.io.SysDevice; import com.jopdesign.sys.Native; import com.jopdesign.sys.RetryException; import com.jopdesign.sys.Startup; public class RunReferenceTransaction implements Runnable { /** * @param args */ public static void main(String[] args) { SysDevice sys = IOFactory.getFactory().getSysDevice(); Runnable r = new RunReferenceTransaction(); Startup.setRunnable(r, 0); sys.signal = 1; while (true) { int result = -1; try { result = Transaction.atomicMethod(1); } catch (RetryException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (AbortException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(result); } } public void run() { while (true) { Native.wrMem(TM_START_TRANSACTION, MEM_TM_MAGIC); Transaction.conflicting = true; for (int i = 0; i < 10; i++); Native.wrMem(TM_END_TRANSACTION, MEM_TM_MAGIC); } } }