threadLocal = new ThreadLocal<int> (() => {
Interlocked.Increment (ref callTime);
throw new ApplicationException ("foo");
threadLocal = new ThreadLocal<int> (() => {
Interlocked.Increment (ref callTime);
throw new ApplicationException ("foo");
t.Join ();
Assert.AreEqual (false, thread_value_created, "#4");
Assert.IsNotNull (exception, "#5");
t.Join ();
Assert.AreEqual (false, thread_value_created, "#4");
Assert.IsNotNull (exception, "#5");