diff options
| author | kamil <kamil@NetBSD.org> | 2019-09-10 22:34:19 +0000 |
|---|---|---|
| committer | kamil <kamil@NetBSD.org> | 2019-09-10 22:34:19 +0000 |
| commit | 35bb897caae71d80759731d6320c4bfc38427146 (patch) | |
| tree | 31ede582c951050af624c5b5c9234b1057ff90d2 /lib/libpthread | |
| parent | 8897547013ef16f6991d5ee338b7fccaf5b7b9c3 (diff) | |
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
Diffstat (limited to 'lib/libpthread')
| -rw-r--r-- | lib/libpthread/thrd.c | 6 | ||||
| -rw-r--r-- | lib/libpthread/threads.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/libpthread/thrd.c b/lib/libpthread/thrd.c index 886c18f190d..4f1099b0544 100644 --- a/lib/libpthread/thrd.c +++ b/lib/libpthread/thrd.c @@ -1,4 +1,4 @@ -/* $NetBSD: thrd.c,v 1.3 2019/04/29 20:11:43 kamil Exp $ */ +/* $NetBSD: thrd.c,v 1.4 2019/09/10 22:34:19 kamil Exp $ */ /*- * Copyright (c) 2016 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: thrd.c,v 1.3 2019/04/29 20:11:43 kamil Exp $"); +__RCSID("$NetBSD: thrd.c,v 1.4 2019/09/10 22:34:19 kamil Exp $"); #include <assert.h> #include <errno.h> @@ -122,7 +122,7 @@ thrd_equal(thrd_t t1, thrd_t t2) return pthread_equal(t1, t2); } -_Noreturn void +__dead void thrd_exit(int res) { diff --git a/lib/libpthread/threads.h b/lib/libpthread/threads.h index 0a2417e483f..d934290f3f8 100644 --- a/lib/libpthread/threads.h +++ b/lib/libpthread/threads.h @@ -1,4 +1,4 @@ -/* $NetBSD: threads.h,v 1.2 2019/04/24 18:47:54 kamil Exp $ */ +/* $NetBSD: threads.h,v 1.3 2019/09/10 22:34:19 kamil Exp $ */ /*- * Copyright (c) 2016 The NetBSD Foundation, Inc. @@ -106,7 +106,7 @@ int thrd_create(thrd_t *, thrd_start_t, void *); thrd_t thrd_current(void); int thrd_detach(thrd_t); int thrd_equal(thrd_t, thrd_t); -_Noreturn void thrd_exit(int); +__dead void thrd_exit(int); int thrd_join(thrd_t, int *); int thrd_sleep(const struct timespec *, struct timespec *); void thrd_yield(void); |
