From: Brian Norris <banorris@uci.edu>
Date: Tue, 9 Oct 2012 01:59:26 +0000 (-0700)
Subject: threads: allocate on user's snapshotting heap
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9db4729d3e6ab5f3ec5fd8a2560d95026332fecf;p=c11tester.git

threads: allocate on user's snapshotting heap

The following comment is included in threads.h to explain this choice:

  Intentionally NOT allocated with MODELALLOC or SNAPSHOTALLOC. Threads
  should be allocated on the user's normal (snapshotting) heap to allow
  their allocation/deallocation to follow the same pattern as the rest
  of the backtracked/replayed program.

This fix solves problems seen in certain test programs regarding a
Thread being allocated in different locations for different executions.
---

diff --git a/threads.h b/threads.h
index 9fecdfd3..91db236f 100644
--- a/threads.h
+++ b/threads.h
@@ -106,7 +106,12 @@ public:
 
 	friend void thread_startup();
 
-	SNAPSHOTALLOC
+	/**
+	 * Intentionally NOT allocated with MODELALLOC or SNAPSHOTALLOC.
+	 * Threads should be allocated on the user's normal (snapshotting) heap
+	 * to allow their allocation/deallocation to follow the same pattern as
+	 * the rest of the backtracked/replayed program.
+	 */
 private:
 	int create_context();
 	Thread *parent;