public DeadlockWithNekaraLockAndAsync() { this.nekara = RuntimeEnvironment.Client; this.nekara.Api.CreateSession(); this.lck = new Nekara.Models.Lock(0); this.bugFound = false; this.x = 0; }
public void Reset() { this.nekara.Api.CreateSession(); this.x = 0; this.lck = new Nekara.Models.Lock(0); this.t2 = false; this.t3 = false; }
public static void Run() { // initialize all relevant state lck = new Nekara.Models.Lock(0); x = 0; nekara.CreateTask(); Task.Run(() => Foo()); nekara.CreateTask(); Task.Run(() => Bar()); }
public void Racebetween2Tasks() { while (!bugfound) { NekaraManagedClient nekara = RuntimeEnvironment.Client; nekara.Api.CreateSession(); // initialize all relevant state lck = new Nekara.Models.Lock(0); x = 0; nekara.Api.CreateTask(); var T1 = Task.Run(() => Foo()); nekara.Api.CreateTask(); var T2 = Task.Run(() => Bar()); nekara.Api.WaitForMainTask(); Task.WaitAll(T1, T2); } }