From 9db4729d3e6ab5f3ec5fd8a2560d95026332fecf Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Mon, 8 Oct 2012 18:59:26 -0700 Subject: [PATCH] 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. --- threads.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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; -- 2.34.1