Browse Source

fix benign data race in pthread_attr_init

access to defaults should be protected against concurrent changes.
Rich Felker 6 năm trước cách đây
mục cha
commit
11ce1b133d
1 tập tin đã thay đổi với 2 bổ sung0 xóa
  1. 2 0
      src/thread/pthread_attr_init.c

+ 2 - 0
src/thread/pthread_attr_init.c

@@ -6,7 +6,9 @@ extern size_t __default_guardsize;
 int pthread_attr_init(pthread_attr_t *a)
 int pthread_attr_init(pthread_attr_t *a)
 {
 {
 	*a = (pthread_attr_t){0};
 	*a = (pthread_attr_t){0};
+	__acquire_ptc();
 	a->_a_stacksize = __default_stacksize;
 	a->_a_stacksize = __default_stacksize;
 	a->_a_guardsize = __default_guardsize;
 	a->_a_guardsize = __default_guardsize;
+	__release_ptc();
 	return 0;
 	return 0;
 }
 }