* mark.c (GC_print_trace): Perform UNLOCK (if "lock" is on) before
return (inside loop).
for (i = GC_trace_buf_ptr-1; i != GC_trace_buf_ptr; i--) {
if (i < 0) i = TRACE_ENTRIES-1;
p = GC_trace_buf + i;
- if (p -> gc_no < gc_no || p -> kind == 0) return;
+ if (p -> gc_no < gc_no || p -> kind == 0) {
+ if (lock) UNLOCK();
+ return;
+ }
printf("Trace:%s (gc:%u,bytes:%lu) 0x%X, 0x%X\n",
p -> kind, (unsigned)p -> gc_no,
(unsigned long)p -> bytes_allocd,