ObjectDatabase++ was initially designed to run in both a multi-thread and multi-process environment. We had this design goal for creating servers that can auto-repair themselves by detecting when a process is no longer responding correctly, use the Operating System to kill off the dysfunctional process and create a new one. This ability enable servers to literally heal themselves when they encounter problems and is very useful in wireless situations where the user is far away from the server and unable to physically interact with it.
Because of these design requirements ObjectDatabase++ has a new and unique transaction wireless, that enables ObjectDatabase++ to be both multi-process and multi-threaded capable. For this ObjectDatabase++ can detect that a transaction has exited incorrectly and repair the database without any undue interference to any currently processing transactions, whether running as a thread within the current process or externally within another process.