X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/f82f62944a4e605d385f40b5a4a01e19677bc0b3..c0a56ec78ddf9df65f591104a1d7bbcada099477:/libguile/threads.h diff --git a/libguile/threads.h b/libguile/threads.h index 147e36dd8..6b85baf52 100644 --- a/libguile/threads.h +++ b/libguile/threads.h @@ -4,7 +4,7 @@ #define SCM_THREADS_H /* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006, - * 2007, 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. + * 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 @@ -72,10 +72,9 @@ typedef struct scm_i_thread { scm_i_pthread_cond_t sleep_cond; int sleep_fd, sleep_pipe[2]; - /* XXX: These two fields used to hold information about the BDW-GC - mark stack during the mark phase. They are no longer used. */ - 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. */ @@ -110,7 +109,7 @@ typedef struct scm_i_thread { 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__ @@ -145,6 +144,7 @@ SCM_INTERNAL void scm_init_threads (void); 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);