static void run_a_thread_NORETURN ( Word tidW )
{
ThreadId tid = (ThreadId)tidW;
+ VgSchedReturnCode src;
+ Int c;
VG_(debugLog)(1, "syswrap-x86-linux",
"run_a_thread_NORETURN(tid=%lld): "
(ULong)tidW);
/* Run the thread all the way through. */
- VgSchedReturnCode src = ML_(thread_wrapper)(tid);
+ src = ML_(thread_wrapper)(tid);
VG_(debugLog)(1, "syswrap-x86-linux",
"run_a_thread_NORETURN(tid=%lld): "
"ML_(thread_wrapper) done\n",
(ULong)tidW);
- Int c = VG_(count_living_threads)();
+ c = VG_(count_living_threads)();
vg_assert(c >= 1); /* stay sane */
if (c == 1) {
} else {
+ ThreadState *tst;
+
VG_(debugLog)(1, "syswrap-x86-linux",
"run_a_thread_NORETURN(tid=%lld): "
"not last one standing\n",
(ULong)tidW);
/* OK, thread is dead, but others still exist. Just exit. */
- ThreadState *tst = VG_(get_ThreadState)(tid);
+ tst = VG_(get_ThreadState)(tid);
/* This releases the run lock */
VG_(exit_thread)(tid);
*/
void VG_(main_thread_wrapper_NORETURN)(ThreadId tid)
{
+ Addr esp;
+
VG_(debugLog)(1, "syswrap-x86-linux",
"entering VG_(main_thread_wrapper_NORETURN)\n");
- Addr esp = allocstack(tid);
+ esp = allocstack(tid);
/* If we can't even allocate the first thread's stack, we're hosed.
Give up. */