about summary refs log tree commit diff
path: root/nptl/pthread_create.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/pthread_create.c')
-rw-r--r--nptl/pthread_create.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index 347d510707..86fbeb5218 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -612,16 +612,16 @@ __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr,
   STACK_VARIABLES;
 
   const struct pthread_attr *iattr = (struct pthread_attr *) attr;
-  struct pthread_attr default_attr;
+  union pthread_attr_transparent default_attr;
   bool destroy_default_attr = false;
   bool c11 = (attr == ATTR_C11_THREAD);
   if (iattr == NULL || c11)
     {
-      int ret = __pthread_getattr_default_np ((pthread_attr_t *) &default_attr);
+      int ret = __pthread_getattr_default_np (&default_attr.external);
       if (ret != 0)
 	return ret;
       destroy_default_attr = true;
-      iattr = &default_attr;
+      iattr = &default_attr.internal;
     }
 
   struct pthread *pd = NULL;
@@ -852,7 +852,7 @@ __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr,
 
  out:
   if (destroy_default_attr)
-    __pthread_attr_destroy ((pthread_attr_t *) &default_attr);
+    __pthread_attr_destroy (&default_attr.external);
 
   return retval;
 }