History log of /openbsd-current/include/pthread.h
Revision Date Author Comments
# 1.4 05-Mar-2018 deraadt

#define _MAX_PAGE_SHIFT in MD _types.h as the maximum pagesize an arch
needs (looking at you sgi, but others required this before). This is for
the circumstances we need pagesize known at compile time, not getpagesize()
runtime. Use it for malloc storage sizes, for shm, and to set pthread stack
default sizes. The stack sizes were a mess, and pushing them towards
page-aligned is healthy move (which will also be needed by the coming
stack register checker)
ok guenther kettenis, discussion with stefan


# 1.3 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.2 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@


# 1.1 15-Oct-2017 guenther

Move the thread-related .h files to /usr/src/include/, since the
implementation is now spread between libc and librthread. No changes
to the content

ok mpi@


# 1.3 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.2 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@


# 1.1 15-Oct-2017 guenther

Move the thread-related .h files to /usr/src/include/, since the
implementation is now spread between libc and librthread. No changes
to the content

ok mpi@