Fixed singlethreaded case.
authorlace <>
Tue, 15 May 2007 20:08:37 +0000 (20:08 +0000)
committerlace <>
Tue, 15 May 2007 20:08:37 +0000 (20:08 +0000)
threadtest.c

index c3afa7a..54586ec 100644 (file)
@@ -298,7 +298,11 @@ static void thread_test (td_thragent_t *thread_agent)
   err = td_ta_thr_iter (thread_agent, find_new_threads_callback, NULL,
                        TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
                        TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
-  assert (err == TD_OK);
+  if (err != TD_OK)
+    {
+      fprintf (stderr, "err = %d\n", err);
+      abort ();
+    }
 }
 
 static void attach (pid_t pid)
@@ -315,10 +319,12 @@ static void attach (pid_t pid)
   err = td_ta_new (&proc_handle_local, &thread_agent);
   assert (err == TD_OK || err == TD_NOLIBTHREAD);
   if (err == TD_OK)
-    puts ("multithreaded");
+    {
+      puts ("multithreaded");
+      thread_test (thread_agent);
+    }
   else
     puts ("singlethreaded");
-  thread_test (thread_agent);
 }
 
 static void *start (void *arg)