summaryrefslogtreecommitdiff
path: root/libguile/threads.h
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-03-01 17:45:17 +0100
committerLudovic Courtès <ludo@gnu.org>2013-03-01 17:50:05 +0100
commit01b69e79f617db3c68b117512b6fe29978ba0ebb (patch)
tree0263e6bd8291cb7e0f762c3da4a820745e63738b /libguile/threads.h
parent0f595d7d1d57b12036bef801538163d3773567c3 (diff)
downloadguile-01b69e79f617db3c68b117512b6fe29978ba0ebb.tar.gz
Allow the SMOB mark procedures to be called when libgc uses parallel markers.
Fixes <http://bugs.gnu.org/13611>. Reported by Mike Gran <spk121@yahoo.com>. * libguile/smob.c (current_mark_stack_pointer, current_mark_stack_limit): New variables. (smob_mark): Use CURRENT_MARK_STACK_POINTER and CURRENT_MARK_STACK_LIMIT instead of the same-named fields of `SCM_I_CURRENT_THREAD'. (scm_gc_mark): Likewise. (scm_smob_prehistory): Initialize CURRENT_MARK_STACK_LIMIT and CURRENT_MARK_STACK_POINTER. * libguile/threads.h (scm_i_thread): Add comment that `current_mark_stack_ptr' and `current_mark_stack_limit' are no longer used.
Diffstat (limited to 'libguile/threads.h')
-rw-r--r--libguile/threads.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/threads.h b/libguile/threads.h
index ec129bc72..901c37bb2 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -3,7 +3,8 @@
#ifndef SCM_THREADS_H
#define SCM_THREADS_H
-/* Copyright (C) 1996,1997,1998,2000,2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2006,
+ * 2007, 2008, 2009, 2011, 2013 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
@@ -71,8 +72,8 @@ typedef struct scm_i_thread {
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 ()'. */
+ /* 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;