14:33:21drmeisterI took control of the startup order for top-level forms.
14:34:15drmeisterUp until now we've been relying on undefined behavior of the linker and static constructors in C++ and getting away with it.
14:34:41drmeisterNow I pass an integer along with the startup function and the integer/startup functions are sorted before the functions are invoked.
14:35:58drmeisterSo the C++ static constructors can run in any order during dlopen or executable startup but then when the lisp code is supposed to start the integer/startup functions are sorted and then invoked one at a time in order.