[PATCH v3 0/2] NPTL synchronization fixes

Adhemerval Zanella adhemerval.zanella@linaro.org
Thu Jul 17 20:54:19 GMT 2025


This is a rebased from a previous version [1], and I dropped TID
accesses changes because it is not really related to the main fix
on the set (BZ#19951).

It seems that this issues has triggered another problem [2], and
although I could not reproduce it I still think the current pthread
does have the synchronization issue.

PS: this is not meant for 2.42.

[1] https://sourceware.org/pipermail/libc-alpha/2022-May/139208.html
[2] https://github.com/uxlfoundation/oneTBB/issues/1758

Adhemerval Zanella (2):
  nptl: Set cancellation type and state on pthread_exit (BZ #28267)
  nptl: Do not use pthread set_tid_address as state synchronization (BZ
    #19951)

 nptl/Makefile                       |   1 +
 nptl/descr.h                        |  26 +++---
 nptl/nptl-stack.h                   |   2 +-
 nptl/pthread_cancel.c               |   3 +-
 nptl/pthread_clockjoin.c            |   2 +-
 nptl/pthread_create.c               |  42 ++++++---
 nptl/pthread_detach.c               |  40 ++++-----
 nptl/pthread_getattr_np.c           |   2 +-
 nptl/pthread_join.c                 |   2 +-
 nptl/pthread_join_common.c          | 118 +++++++++---------------
 nptl/pthread_timedjoin.c            |   2 +-
 nptl/pthread_tryjoin.c              |  19 ++--
 nptl/tst-cleanup5.c                 | 133 ++++++++++++++++++++++++++++
 sysdeps/nptl/dl-tls_init_tp.c       |   3 +-
 sysdeps/nptl/libc_start_call_main.h |   6 ++
 sysdeps/nptl/pthreadP.h             |  18 +++-
 sysdeps/pthread/tst-thrd-detach.c   |   6 +-
 17 files changed, 285 insertions(+), 140 deletions(-)
 create mode 100644 nptl/tst-cleanup5.c

-- 
2.43.0



More information about the Libc-alpha mailing list