use internal `equal?'-based table in atomic mode

for kill safety
This commit is contained in:
Matthew Flatt 2011-08-09 12:35:34 -06:00
parent d3f1bed4ae
commit 376a673a0c

View File

@ -2431,7 +2431,9 @@ static Scheme_Object *taint_intern(Scheme_Object *v)
{
Scheme_Bucket *b;
scheme_start_atomic();
b = scheme_bucket_from_table(taint_intern_table, (const char *)v);
scheme_end_atomic_no_swap();
if (!b->val)
b->val = scheme_true;
v = (Scheme_Object *)HT_EXTRACT_WEAK(b->key);