History log of /src/lib/libpthread/thrd.c |
Revision | | Date | Author | Comments |
1.4 |
| 10-Sep-2019 |
kamil | Switch back _Noreturn to __dead in C11 threads
There is an ongoing discussion to unify unreturn attribute between C and C++, making a compatible version, shared between languages. Instead of picking C11-only approach here, switch back to __dead that wraps the compiler extension for the same purpose.
This change makes this header more compatible with C++ and pre-C11.
Reference:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2410.pdf
|
1.3 |
| 29-Apr-2019 |
kamil | branches: 1.3.2; 1.3.4; Avoid incompatible function pointer casts in thrd_create(3)
Use an intermediate function trampoline to workaround different function pointer prototypes.
While there, correct scenario returning thrd_nomem from thrd_create(3). In practice ENOMEM is rarely returned from pthread(3).
Older code worked on tested ports, but was depending on unneeded UB.
|
1.2 |
| 24-Apr-2019 |
kamil | Introduce minor changes to the C11 threading library
Switch tss_t type from int to pthread_key_t (no functional change as pthread_key_t was already typedefed as int).
Noted by <enh from Google>.
Use C11 _Noreturn in thrd_exit(3) instead of NetBSD specific __dead. The former is documented in the standard as an attribute of thrd_exit(3), the latter is more portable to pre-C11 compilers, however C11 thread support library needs C11 compiler for TLS anyway. __dead made a little bit more point 3 years ago than today as 3 years ago pre-C11 compilers were more common.
|
1.1 |
| 24-Apr-2019 |
kamil | Add a complete C11 threads(3) implementation
C11 Thread support library is a portable threading C API between OSs, similar to std::threads in the C++ world.
The library is implemented as a thin shim over POSIX interfaces.
NetBSD implements the API as a part of the POSIX threading library (libpthread(3)).
C11 threads(3) are in the process of making them an integral part of the POSIX standard. The interface has been implemented in major OSs and used with stopgap libraries for older versions of them.
C11 threading library is already used (with a stopgap implementation) in the NetBSD distribution in MESA.
Original implementation by myself from 2016.
ATF tests are new and cover almost all interfaces.
Proposed on tech-userlevel@.
|
1.3.4.1 |
| 13-Sep-2019 |
martin | Pull up following revision(s) (requested by kamil in ticket #198):
lib/libpthread/thrd.c: revision 1.4 lib/libpthread/threads.h: revision 1.3
Switch back _Noreturn to __dead in C11 threads
There is an ongoing discussion to unify unreturn attribute between C and C++, making a compatible version, shared between languages. Instead of picking C11-only approach here, switch back to __dead that wraps the compiler extension for the same purpose.
This change makes this header more compatible with C++ and pre-C11. Reference:
<a rel="nofollow" href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2410.pdf">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2410.pdf</a>
|
1.3.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.3.2.2 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.3.2.1 |
| 29-Apr-2019 |
christos | file thrd.c was added on branch phil-wifi on 2019-06-10 22:05:26 +0000
|