#ifndef SCM_THREADS_H
#define SCM_THREADS_H
-/* Copyright (C) 1996,1997,1998,2000,2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006,
+ * 2007, 2008, 2009, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
scm_i_pthread_cond_t sleep_cond;
int sleep_fd, sleep_pipe[2];
- /* Information about the Boehm-GC mark stack during the mark phase. This
- is used by `scm_gc_mark ()'. */
- void *current_mark_stack_ptr;
- void *current_mark_stack_limit;
+ /* Thread-local freelists; see gc-inline.h. */
+ void **freelists;
+ void **pointerless_freelists;
/* Other thread local things.
*/
SCM_STACKITEM *continuation_base;
/* For keeping track of the stack and registers. */
- SCM vm;
+ struct scm_vm *vp;
SCM_STACKITEM *base;
scm_i_jmp_buf regs;
#ifdef __ia64__
SCM_INTERNAL void scm_init_thread_procs (void);
SCM_INTERNAL void scm_init_threads_default_dynamic_state (void);
+SCM_INTERNAL void scm_i_dynwind_pthread_mutex_lock_block_asyncs (scm_i_pthread_mutex_t *mutex);
SCM_API SCM scm_call_with_new_thread (SCM thunk, SCM handler);
SCM_API SCM scm_yield (void);