diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libc/include/thread_private.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/libc/include/thread_private.h b/src/lib/libc/include/thread_private.h index 98dfaa6322..237c3fbd03 100644 --- a/src/lib/libc/include/thread_private.h +++ b/src/lib/libc/include/thread_private.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: thread_private.h,v 1.35 2019/02/13 13:22:14 mpi Exp $ */ | 1 | /* $OpenBSD: thread_private.h,v 1.36 2021/01/06 19:54:17 otto Exp $ */ |
| 2 | 2 | ||
| 3 | /* PUBLIC DOMAIN: No Rights Reserved. Marco S Hyman <marc@snafu.org> */ | 3 | /* PUBLIC DOMAIN: No Rights Reserved. Marco S Hyman <marc@snafu.org> */ |
| 4 | 4 | ||
| @@ -98,7 +98,8 @@ struct thread_callbacks { | |||
| 98 | void (*tc_mutex_destroy)(void **); | 98 | void (*tc_mutex_destroy)(void **); |
| 99 | void (*tc_tag_lock)(void **); | 99 | void (*tc_tag_lock)(void **); |
| 100 | void (*tc_tag_unlock)(void **); | 100 | void (*tc_tag_unlock)(void **); |
| 101 | void *(*tc_tag_storage)(void **, void *, size_t, void *); | 101 | void *(*tc_tag_storage)(void **, void *, size_t, void (*)(void *), |
| 102 | void *); | ||
| 102 | __pid_t (*tc_fork)(void); | 103 | __pid_t (*tc_fork)(void); |
| 103 | __pid_t (*tc_vfork)(void); | 104 | __pid_t (*tc_vfork)(void); |
| 104 | void (*tc_thread_release)(struct pthread *); | 105 | void (*tc_thread_release)(struct pthread *); |
| @@ -142,6 +143,7 @@ __END_HIDDEN_DECLS | |||
| 142 | #define _THREAD_PRIVATE_MUTEX_LOCK(name) do {} while (0) | 143 | #define _THREAD_PRIVATE_MUTEX_LOCK(name) do {} while (0) |
| 143 | #define _THREAD_PRIVATE_MUTEX_UNLOCK(name) do {} while (0) | 144 | #define _THREAD_PRIVATE_MUTEX_UNLOCK(name) do {} while (0) |
| 144 | #define _THREAD_PRIVATE(keyname, storage, error) &(storage) | 145 | #define _THREAD_PRIVATE(keyname, storage, error) &(storage) |
| 146 | #define _THREAD_PRIVATE_DT(keyname, storage, dt, error) &(storage) | ||
| 145 | #define _MUTEX_LOCK(mutex) do {} while (0) | 147 | #define _MUTEX_LOCK(mutex) do {} while (0) |
| 146 | #define _MUTEX_UNLOCK(mutex) do {} while (0) | 148 | #define _MUTEX_UNLOCK(mutex) do {} while (0) |
| 147 | #define _MUTEX_DESTROY(mutex) do {} while (0) | 149 | #define _MUTEX_DESTROY(mutex) do {} while (0) |
| @@ -168,7 +170,12 @@ __END_HIDDEN_DECLS | |||
| 168 | #define _THREAD_PRIVATE(keyname, storage, error) \ | 170 | #define _THREAD_PRIVATE(keyname, storage, error) \ |
| 169 | (_thread_cb.tc_tag_storage == NULL ? &(storage) : \ | 171 | (_thread_cb.tc_tag_storage == NULL ? &(storage) : \ |
| 170 | _thread_cb.tc_tag_storage(&(__THREAD_NAME(keyname)), \ | 172 | _thread_cb.tc_tag_storage(&(__THREAD_NAME(keyname)), \ |
| 171 | &(storage), sizeof(storage), error)) | 173 | &(storage), sizeof(storage), NULL, (error))) |
| 174 | |||
| 175 | #define _THREAD_PRIVATE_DT(keyname, storage, dt, error) \ | ||
| 176 | (_thread_cb.tc_tag_storage == NULL ? &(storage) : \ | ||
| 177 | _thread_cb.tc_tag_storage(&(__THREAD_NAME(keyname)), \ | ||
| 178 | &(storage), sizeof(storage), (dt), (error))) | ||
| 172 | 179 | ||
| 173 | /* | 180 | /* |
| 174 | * Macros used in libc to access mutexes. | 181 | * Macros used in libc to access mutexes. |
