summaryrefslogtreecommitdiff
path: root/boehm-gc/pthread_support.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-06-22 22:06:35 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-06-22 22:06:35 +0200
commit0c51836d012787ac19739f0fe1c61ef7b2af4231 (patch)
tree8e8987effe179073c598fe3343d892dadff24a6a /boehm-gc/pthread_support.c
parent5e33addbb6bf715965771b8bcadc038f60dfcb05 (diff)
downloadgcc-0c51836d012787ac19739f0fe1c61ef7b2af4231.tar.gz
pthread_support.c (GC_get_thread_stack_base): Handle pthread_getattr_np failures.
* pthread_support.c (GC_get_thread_stack_base): Handle pthread_getattr_np failures. From-SVN: r125957
Diffstat (limited to 'boehm-gc/pthread_support.c')
-rw-r--r--boehm-gc/pthread_support.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/boehm-gc/pthread_support.c b/boehm-gc/pthread_support.c
index bbda8522c03..f0a58c886a3 100644
--- a/boehm-gc/pthread_support.c
+++ b/boehm-gc/pthread_support.c
@@ -1135,7 +1135,13 @@ GC_PTR GC_get_thread_stack_base()
size_t stack_size;
my_pthread = pthread_self();
- pthread_getattr_np (my_pthread, &attr);
+ if (pthread_getattr_np (my_pthread, &attr) != 0)
+ {
+# ifdef DEBUG_THREADS
+ GC_printf1("Can not determine stack base for attached thread");
+# endif
+ return 0;
+ }
pthread_attr_getstack (&attr, (void **) &stack_addr, &stack_size);
pthread_attr_destroy (&attr);