In case of a single-threaded build, the comparison is always false
because maps_size>=0 and old_maps_size<=0.
* os_dep.c [NEED_PROC_MAPS] (GC_get_maps): Do not evaluate
maps_size<old_maps_size inside while expression if THREADS; remove
comment.
" (to %" WARN_PRIdPTR " bytes)\n", maps_size);
}
# endif
- } while (maps_size >= maps_buf_sz || maps_size < old_maps_size);
- /* In the single-threaded case, the second clause is false. */
+ } while (maps_size >= maps_buf_sz
+# ifdef THREADS
+ || maps_size < old_maps_size
+# endif
+ );
maps_buf[maps_size] = '\0';
return maps_buf;
}