summaryrefslogtreecommitdiff
path: root/libguile/root.h
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2005-01-24 23:41:14 +0000
committerMarius Vollmer <mvo@zagadka.de>2005-01-24 23:41:14 +0000
commit76da80e7881947ebcdb647e5ce4be029fece29f2 (patch)
tree9a56249fecf0002eefc25c6a0bfeb53a2b277d7f /libguile/root.h
parenta54a94b39707f47a1f30533bcf7664094d65d073 (diff)
downloadguile-76da80e7881947ebcdb647e5ce4be029fece29f2.tar.gz
Reverted changed from 2005/01/24 19:14:54, which was a commit to the
wrong branch. Sorry.
Diffstat (limited to 'libguile/root.h')
-rw-r--r--libguile/root.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/libguile/root.h b/libguile/root.h
index f33278ac9..a97cf7536 100644
--- a/libguile/root.h
+++ b/libguile/root.h
@@ -64,7 +64,8 @@ typedef struct scm_root_state
/* It is very inefficient to have this variable in the root state. */
scm_t_debug_frame *last_debug_frame;
- SCM progargs;
+ SCM progargs; /* vestigial */
+ SCM exitval; /* vestigial */
SCM cur_inp;
SCM cur_outp;
@@ -86,10 +87,6 @@ typedef struct scm_root_state
*/
} scm_root_state;
-#define scm_root ((scm_root_state *) pthread_getspecific (scm_i_root_key))
-#define scm_set_root(new_root) pthread_setspecific (scm_i_root_key, new_root)
-SCM_API pthread_key_t scm_i_root_key;
-
#define scm_stack_base (scm_root->stack_base)
#define scm_save_regs_gc_mark (scm_root->save_regs_gc_mark)
#define scm_errjmp_bad (scm_root->errjmp_bad)
@@ -104,6 +101,8 @@ SCM_API pthread_key_t scm_i_root_key;
#define scm_cur_errp (scm_root->cur_errp)
#define scm_cur_loadp (scm_root->cur_loadp)
+#define scm_root ((scm_root_state *) SCM_THREAD_LOCAL_DATA)
+#define scm_set_root(new_root) SCM_SET_THREAD_LOCAL_DATA (new_root)