summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-22 20:06:35 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-22 20:06:35 +0000
commitb6e14b3cfc330499fe96f81ac4ca30f1ac0512bf (patch)
tree8e8987effe179073c598fe3343d892dadff24a6a
parent8e82cc99c7b649f6c49b951a151b228c6ccf4892 (diff)
downloadppe42-gcc-b6e14b3cfc330499fe96f81ac4ca30f1ac0512bf.tar.gz
ppe42-gcc-b6e14b3cfc330499fe96f81ac4ca30f1ac0512bf.zip
* pthread_support.c (GC_get_thread_stack_base): Handle
pthread_getattr_np failures. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125957 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--boehm-gc/ChangeLog5
-rw-r--r--boehm-gc/pthread_support.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 89e48b942ed..f140791a56f 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-22 Jakub Jelinek <jakub@redhat.com>
+
+ * pthread_support.c (GC_get_thread_stack_base): Handle
+ pthread_getattr_np failures.
+
2007-06-02 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
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);
OpenPOWER on IntegriCloud