We were decrementing "available" twice for each in-use address we ran across. This would make us declare that we ran out of virtual addresses when the address space was only half full.
@@ -0,0 +1,4 @@
+ o Minor bugfixes
+ - Fix a bug where we would declare that we had run out of virtual
+ addresses when the address space was only half-exhausted. Bugfix
+ on 0.1.1.19-rc.
@@ -1178,7 +1178,7 @@ addressmap_get_virtual_address(int type)
++next_virtual_addr;
--available;
log_info(LD_CONFIG, "%d addrs available", (int)available);
- if (! --available) {
+ if (! available) {
log_warn(LD_CONFIG, "Ran out of virtual addresses!");
return NULL;
}