* pthread_stop_world.c (GC_is_thread_suspended): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124081
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-04-23 Keith Seitz <keiths@redhat.com>
+
+ * include/gc.h (GC_is_thread_suspended): Declare.
+ * pthread_stop_world.c (GC_is_thread_suspended): New function.
+
2007-04-03 Jakub Jelinek <jakub@redhat.com>
* configure.ac (NO_EXECUTE_PERMISSION): Set by default.
&& !defined(GC_WIN32_THREADS) && !defined(GC_DARWIN_THREADS)
GC_API void GC_suspend_thread GC_PROTO((pthread_t));
GC_API void GC_resume_thread GC_PROTO((pthread_t));
+GC_API int GC_is_thread_suspended GC_PROTO((pthread_t));
#endif
#endif /* _GC_H */
t -> flags &= ~SUSPENDED;
}
+int GC_is_thread_suspended(pthread_t thread) {
+ GC_thread t = GC_lookup_thread(thread);
+ if (t == NULL)
+ ABORT("querying suspension state of unknown thread");
+
+ return (t -> flags & SUSPENDED);
+}
+
/* Caller holds allocation lock, and has held it continuously since */
/* the world stopped. */
void GC_start_world()