diff options
author | Ludovic Courtes <ludovic.courtes@laas.fr> | 2006-04-09 16:13:01 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2008-09-05 00:46:58 +0200 |
commit | e4d21e6bc92e78fa8c89559ec38cd5a106b4101e (patch) | |
tree | 1d66ad9f51afb9501a95d578c6d987c8f400d7ae /libguile/pthread-threads.h | |
parent | 3a2de079d507b612fb7ada1a957ea539bea29fc5 (diff) | |
download | guile-e4d21e6bc92e78fa8c89559ec38cd5a106b4101e.tar.gz |
Fixed the weak cell implementation (for weak hash tables).
* libguile/hashtab.c (wcar_cell_descr): New.
(wcdr_cell_descr): New.
(scm_weak_car_cell): Use `GC_malloc_explicitly_typed ()' instead of
`scm_gc_malloc_pointerless ()'.
(scm_weak_cdr_cell): Likewise.
(SCM_WEAK_CELL_WORD_DELETED_P): Use `SCM_CELL_OBJECT' instead of
`SCM_CELL_WORD'.
(scm_hash_fn_get_handle): Call `GC_disable ()' before calling
`scm_fixup_weak_alist ()' and `GC_enable ()' afterwards.
(scm_hash_fn_create_handle_x): Likewise.
(scm_hash_fn_remove_x): Likewise.
(scm_hashtab_prehistory): Initialize WCAR_CELL_DESCR and
WCDR_CELL_DESCR.
git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-8
Diffstat (limited to 'libguile/pthread-threads.h')
0 files changed, 0 insertions, 0 deletions