Skip to content

Commit 99b5db8

Browse files
committed
FIX: pass handle flags from external (extension) argument to the internal (host) value
1 parent 1f569ed commit 99b5db8

File tree

4 files changed

+4
-2
lines changed

4 files changed

+4
-2
lines changed

src/core/c-handle.c

-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
hob->sym = sym;
9595
CLEAR(hob->data, size);
9696
USE_HOB(hob);
97-
MARK_HOB(hob);
9897
//printf("HOB made mem: %p\n", hob->data);
9998
return hob;
10099
}

src/core/f-extension.c

+1
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ x*/ void RXI_To_Value(REBVAL *val, RXIARG arg, REBCNT type)
142142
case RXE_HANDLE:
143143
VAL_HANDLE(val) = arg.addr;
144144
VAL_HANDLE_TYPE(val) = arg.handle.type;
145+
VAL_HANDLE_FLAGS(val) = arg.handle.flags;
145146
break;
146147
case RXE_32:
147148
VAL_I32(val) = arg.int32a;

src/core/m-gc.c

+2
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ static void Mark_Series(REBSER *series, REBCNT depth);
254254
break;
255255
case REB_HANDLE:
256256
if (IS_CONTEXT_HANDLE(val)) {
257+
//printf("marked hob: %p %p\n", VAL_HANDLE_CTX(val), val);
257258
MARK_HANDLE_CONTEXT(val);
258259
}
259260
else if (IS_SERIES_HANDLE(val) && !HANDLE_GET_FLAG(val, HANDLE_RELEASABLE)) {
@@ -548,6 +549,7 @@ static void Mark_Series(REBSER *series, REBCNT depth);
548549
SKIP_WALL_TYPE(hob, REBHOB);
549550
MUNG_CHECK(HOB_POOL, hob, sizeof(*hob));
550551
if (IS_USED_HOB(hob)) {
552+
//printf("sweep hob: %p\n", hob);
551553
if (IS_MARK_HOB(hob))
552554
UNMARK_HOB(hob);
553555
else {

src/core/m-pools.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ const REBPOOLSPEC Mem_Pool_Spec[MAX_POOLS] =
613613
if( !IS_USED_HOB(hob) || hob->data == NULL ) return;
614614

615615
spec = PG_Handles[idx];
616-
//printf("HOB free mem: %0x\n", hob->data);
616+
//printf("HOB free mem: %p\n", hob->data);
617617

618618
if (spec.free)
619619
spec.free(hob->data);

0 commit comments

Comments
 (0)