History log of /openbsd-current/lib/libc/thread/rthread.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.9 12-Oct-2020 deraadt

annoying whitespace


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.8 13-May-2018 visa

Add memory barriers to libc's _spinlock() to make the mechanism
serialize memory accesses properly.

_spinlock()'s backend, _atomic_lock(), already issues an entry barrier
on some architectures, but that practice has not been consistent. This
patch generalizes the barrier use.

OK kettenis@, mpi@


Revision tags: OPENBSD_6_3_BASE
# 1.7 05-Dec-2017 kettenis

Implement __cxa_thread_atexit to support C++11 thread_local scope. The
interface is also made available as __cxa_thread_atexit_impl to satisfy the
needs of GNU libstdc++.

ok guenther@, millert@


# 1.6 04-Nov-2017 jca

Revert recent changes to unbreak ports/net/samba

While it is not clear (to me) why that ports ends up with corrupted
shared libs, reverting those changes fixes the issue and should allow us
to close p2k17 more smoothly.

Discussed with a bunch, ok ajacoutot@ guenther@


# 1.5 28-Oct-2017 guenther

Change pthread_cleanup_{push,pop} to macros that store the cleanup info
on the stack instead of mallocing the list and move the APIs from libpthread
to libc so that they can be used inside libc.

Note: the standard was explicitly written to permit/support this
"macro with unmatched brace" style and it's what basically everyone
else already does. We xor the info with random cookies with a
random magic to detect/trip-up overwrites.

Major bump to both libc and libpthread due to the API move.

ok mpi@


Revision tags: OPENBSD_6_2_BASE
# 1.4 05-Sep-2017 guenther

Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to
support them. Major bump to both libc and libpthread.

Requested by libressl team. Ports testing by naddy@
ok kettenis@


# 1.3 15-Aug-2017 guenther

s/DEF_STD/DEF_STRONG/ to match namespace.h differences between librthread
and libc


# 1.2 15-Aug-2017 guenther

Sort headers per style(9)


# 1.1 15-Aug-2017 guenther

Copy files from ../librthread in preparation for moving functionality
from libpthread to libc. No changes to the build yet, just making it
easier to review the substantive diffs.

ok beck@ kettenis@ tedu@


# 1.8 13-May-2018 visa

Add memory barriers to libc's _spinlock() to make the mechanism
serialize memory accesses properly.

_spinlock()'s backend, _atomic_lock(), already issues an entry barrier
on some architectures, but that practice has not been consistent. This
patch generalizes the barrier use.

OK kettenis@, mpi@


Revision tags: OPENBSD_6_3_BASE
# 1.7 05-Dec-2017 kettenis

Implement __cxa_thread_atexit to support C++11 thread_local scope. The
interface is also made available as __cxa_thread_atexit_impl to satisfy the
needs of GNU libstdc++.

ok guenther@, millert@


# 1.6 04-Nov-2017 jca

Revert recent changes to unbreak ports/net/samba

While it is not clear (to me) why that ports ends up with corrupted
shared libs, reverting those changes fixes the issue and should allow us
to close p2k17 more smoothly.

Discussed with a bunch, ok ajacoutot@ guenther@


# 1.5 28-Oct-2017 guenther

Change pthread_cleanup_{push,pop} to macros that store the cleanup info
on the stack instead of mallocing the list and move the APIs from libpthread
to libc so that they can be used inside libc.

Note: the standard was explicitly written to permit/support this
"macro with unmatched brace" style and it's what basically everyone
else already does. We xor the info with random cookies with a
random magic to detect/trip-up overwrites.

Major bump to both libc and libpthread due to the API move.

ok mpi@


Revision tags: OPENBSD_6_2_BASE
# 1.4 05-Sep-2017 guenther

Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to
support them. Major bump to both libc and libpthread.

Requested by libressl team. Ports testing by naddy@
ok kettenis@


# 1.3 15-Aug-2017 guenther

s/DEF_STD/DEF_STRONG/ to match namespace.h differences between librthread
and libc


# 1.2 15-Aug-2017 guenther

Sort headers per style(9)


# 1.1 15-Aug-2017 guenther

Copy files from ../librthread in preparation for moving functionality
from libpthread to libc. No changes to the build yet, just making it
easier to review the substantive diffs.

ok beck@ kettenis@ tedu@


# 1.7 05-Dec-2017 kettenis

Implement __cxa_thread_atexit to support C++11 thread_local scope. The
interface is also made available as __cxa_thread_atexit_impl to satisfy the
needs of GNU libstdc++.

ok guenther@, millert@


# 1.6 04-Nov-2017 jca

Revert recent changes to unbreak ports/net/samba

While it is not clear (to me) why that ports ends up with corrupted
shared libs, reverting those changes fixes the issue and should allow us
to close p2k17 more smoothly.

Discussed with a bunch, ok ajacoutot@ guenther@


# 1.5 28-Oct-2017 guenther

Change pthread_cleanup_{push,pop} to macros that store the cleanup info
on the stack instead of mallocing the list and move the APIs from libpthread
to libc so that they can be used inside libc.

Note: the standard was explicitly written to permit/support this
"macro with unmatched brace" style and it's what basically everyone
else already does. We xor the info with random cookies with a
random magic to detect/trip-up overwrites.

Major bump to both libc and libpthread due to the API move.

ok mpi@


Revision tags: OPENBSD_6_2_BASE
# 1.4 05-Sep-2017 guenther

Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to
support them. Major bump to both libc and libpthread.

Requested by libressl team. Ports testing by naddy@
ok kettenis@


# 1.3 15-Aug-2017 guenther

s/DEF_STD/DEF_STRONG/ to match namespace.h differences between librthread
and libc


# 1.2 15-Aug-2017 guenther

Sort headers per style(9)


# 1.1 15-Aug-2017 guenther

Copy files from ../librthread in preparation for moving functionality
from libpthread to libc. No changes to the build yet, just making it
easier to review the substantive diffs.

ok beck@ kettenis@ tedu@