9.44 Release
9.44 - Released 12/16/2024
- Added an optional human-readable name field to ReaderWriterMutex.
- Added a GetInsecurePseudoRandomNumber() function to MiscUtilityFunctions,
just to minimize the number of direct calls to rand(). - Added a move-assignment-operator, a move-constructor, and a
SwapContents() method to the HashtableIterator class. - Added a move-assignment-operator and a move-constructor to the
DemandConstructedObject class. - Added std_move_if_available() and std_forward_if_available() macros
so I can use those calls without breaking pre-C++11 compatibility. - Added a Plunder() method to the Queue class, and updated the move-ctor
and move-assignment-operators to use it.
- Tagged a few non-NULL-returning functions with MUSCLE_NEVER_RETURNS_NULL.
- BitChord::IsBitSet() now just returns false when passed an invalid
argument, rather than triggering an assertion failure. - PointerAndBits::IsBitSet() now just returns false when passed an invalid
argument, rather than triggering an assertion failure. - Tagged some more methods with MUSCLE_NEVER_RETURNS_NULL where appropriate.
- The resource-tallying in AbstractReflectSessions::PrintSessionsInfo()
wasn't working correctly. Fixed. - Applied fixes for various Coverity warnings.
- Fixed a couple of file-handle leaks in SpawnDaemonProcess().
- Fixed a use-after-free error in MiniMessage's MMMoveField() function.