History log of /openbsd-current/lib/libc/thread/rthread_sync.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.6 10-Jan-2024 cheloha

pthread_cond_timedwait(3): accept negative absolute timeouts

Negative absolute timeouts are valid inputs.

With input from kettenis@.

Thread: https://marc.info/?l=openbsd-tech&m=170467558006767&w=2

ok guenther@


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.5 24-Apr-2018 pirofti

Validate timespec and return ECANCELED when interrupted with SA_RESTART.

Discussing with mpi@ and guenther@, we decided to first fix the existing
semaphore implementation with regards to SA_RESTART and POSIX compliant
returns in the case where we deal with restartable signals.

Currently we return EINTR everywhere which is mostly incorrect as the
user can not know if she needs to recall the syscall or not. Return
ECANCELED to signal that SA_RESTART was set and EINTR otherwise.

Regression tests pass and so does the posixsuite. Timespec validation
bits are needed to pass the later.

OK mpi@, guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_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.5 24-Apr-2018 pirofti

Validate timespec and return ECANCELED when interrupted with SA_RESTART.

Discussing with mpi@ and guenther@, we decided to first fix the existing
semaphore implementation with regards to SA_RESTART and POSIX compliant
returns in the case where we deal with restartable signals.

Currently we return EINTR everywhere which is mostly incorrect as the
user can not know if she needs to recall the syscall or not. Return
ECANCELED to signal that SA_RESTART was set and EINTR otherwise.

Regression tests pass and so does the posixsuite. Timespec validation
bits are needed to pass the later.

OK mpi@, guenther@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_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@


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@