diff options
Diffstat (limited to 'src/thread.h')
| -rw-r--r-- | src/thread.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/thread.h b/src/thread.h index 6b66ea4d1c3..989acec6afb 100644 --- a/src/thread.h +++ b/src/thread.h | |||
| @@ -215,11 +215,27 @@ struct Lisp_Mutex | |||
| 215 | lisp_mutex_t mutex; | 215 | lisp_mutex_t mutex; |
| 216 | }; | 216 | }; |
| 217 | 217 | ||
| 218 | /* A condition variable as a lisp object. */ | ||
| 219 | struct Lisp_CondVar | ||
| 220 | { | ||
| 221 | struct vectorlike_header header; | ||
| 222 | |||
| 223 | /* The associated mutex. */ | ||
| 224 | Lisp_Object mutex; | ||
| 225 | |||
| 226 | /* The name of the condition variable, or nil. */ | ||
| 227 | Lisp_Object name; | ||
| 228 | |||
| 229 | /* The lower-level condition variable object. */ | ||
| 230 | sys_cond_t cond; | ||
| 231 | }; | ||
| 232 | |||
| 218 | extern struct thread_state *current_thread; | 233 | extern struct thread_state *current_thread; |
| 219 | 234 | ||
| 220 | extern void unmark_threads (void); | 235 | extern void unmark_threads (void); |
| 221 | extern void finalize_one_thread (struct thread_state *state); | 236 | extern void finalize_one_thread (struct thread_state *state); |
| 222 | extern void finalize_one_mutex (struct Lisp_Mutex *); | 237 | extern void finalize_one_mutex (struct Lisp_Mutex *); |
| 238 | extern void finalize_one_condvar (struct Lisp_CondVar *); | ||
| 223 | 239 | ||
| 224 | extern void init_threads_once (void); | 240 | extern void init_threads_once (void); |
| 225 | extern void init_threads (void); | 241 | extern void init_threads (void); |